Вызывает ли деструктор явное уничтожение объекта полностью?

Если я вызываю деструктор явным образом (myObject. ~ Object ()), гарантирует ли это, что объект будет надлежащим образом уничтожен (вызывая все дочерние деструкторы)?

Хорошо, некоторый код:

<code>class Object
{
   virtual ~Object()
   {}
};

class Widget : public Object
{
   virtual ~Widget()
   {}
};

...
Object* aWidget = new Widget(); //allocate and construct
aWidget->~Object(); //destroy and DON'T deallocate
</code>

Я знаю, что могу просто удалить объект, но не хочу. Я хочу сохранить выделенную память под рукой в качестве важной оптимизации.

Спасибо!

Ответы на вопрос(11)

Ваш ответ на вопрос