Resource Acquisition is Initialization (RAII)

An instance of a class or object should acquire its resources upon initialization when being constructed.

An object should release its resources upon destruction: its destructor should release them.

Some common resources to be acquired and released are: