¿Se diferencia delete ptr
de solo en esto, que delete
llama ptr
destructor? O en otras palabras, ¿el delete ptr
primero llama a un destructor de ptr
y luego operator delete(ptr)
a la memoria asignada libre? Entonces es delete ptr
técnicamente equivalente a lo siguiente:Eliminar vs operador eliminar (y el puntero de anular)
T * ptr = new T;
//delete ptr equivalent:
ptr->~T();
::operator delete(static_cast<void *>(ptr));
?
Sí, esa es la única diferencia, además del hecho de que puede sobrecargar 'operator delete'. –