Если я вызываю деструктор явно (myObject. ~ Object()), это заверит меня, что объект будет соответствующим образом уничтожен (вызов всех дочерних деструкторов)?
Хорошо код:
class Object
{
virtual ~Object()
{}
};
class Widget : public Object
{
virtual ~Widget()
{}
};
...
Object* aWidget = new Widget(); //allocate and construct
aWidget->~Object(); //destroy and DON'T deallocate
Я знаю, что могу просто удалить объект, но не хочу. Я хочу сохранить выделенную память в качестве важной оптимизации.
Спасибо!