と呼ばれている(これらはフェッチとメモリプールからとにメモリを戻します)。私に不快感を与えているのは、私がオーバーロードしているクラスに、削除オーバーロードされた関数getが呼び出される前に、デストラクターが呼び出されているということです。どうすればこれをやめることができますか?停止デストラクタが、私は新しいのオーバーロードと削除していた上のクラスを持っている
class Message
{
~Message() { ... }
void* operator new(std::size_t sz) { ... }
void operator delete(void* ptr) { ... }
};
EDIT:クラスのメンバーが破壊されますが、メモリがデストラクタによって解放されないという考えで正しい
アム。 delete関数はこの責任を持ちます。その場合、メモリの割り当てを解除することはできますか?
結果: ペニーは、メモリと建設/破壊の割り当て/割り当て解除は別々の項目であると判断しました。空のデストラクタがあり、新しい/削除がオーバーロードされました。
私はそれがなぜイライラするのか分かりません。この点でC++は非常に論理的です。あなたが何かをする必要がなければ、空のデストラクタを残す。 –