Dynamic Memory Allocation:

The means by which data objects can be created as they are needed during the program execution. Such data objects remain in existence until they are explicitly destroyed. In C++, dynamic memory allocation
is accomplished with the operators new (for creating data objects) and delete (for destroying them).