...
For a dynamically allocated object, these two stages are typically handled automatically handled by using the new
and delete
operators. The expression new T
for a type T
results in a call to operator new()
to allocate sufficient memory for T
. If memory is successfully allocated, the default constructor for T
is called. The result of the expression is a pointer P
to the object of type T
. When that pointer is passed in the expression delete P
, it results in a call to the destructor for T
. After the destructor completes, a call is made to operator delete()
to deallocate the memory.
...