デストラクタを明示的に呼び出すと(myObject。〜Object())、これにより、オブジェクトが適切に破棄されることが保証されますか(すべての子デストラクタを呼び出す)?
いくつかのコードをOK:
class Object
{
virtual ~Object()
{}
};
class Widget : public Object
{
virtual ~Widget()
{}
};
...
Object* aWidget = new Widget(); //allocate and construct
aWidget->~Object(); //destroy and DON'T deallocate
オブジェクトを削除できることはわかっていますが、削除したくありません。重要な最適化として、割り当てられたメモリを手元に置いておきたい。
ありがとう!