The C++ destructor is not a way to destruct objects - it's a set of operation that are to be done when the object is destructed.
I think you are confusing terminology. Here is how I see it:
create object = first allocate memory, then construct via constructor
destroy object = first destruct via destructor, then deallocate memory
How the memory is allocated and deallocated depends. If you use new
and delete
, the memory management is done by void* operator new(size_t)
and void operator delete(void*)
.