我有一個類,我重載新的和刪除(這些從內存池中獲取並返回內存)。令我感到沮喪的是,我重載的類仍然具有在調用刪除重載函數get之前調用的析構函數。我怎樣才能阻止呢?停止析構函數被調用
class Message
{
~Message() { ... }
void* operator new(std::size_t sz) { ... }
void operator delete(void* ptr) { ... }
};
編輯:
我在想,這個類的成員將被破壞,但記憶不會被析構函數釋放正確的;刪除函數擁有這種責任,在這種情況下,我可以阻止內存被釋放?
結果: Penny認爲分配/釋放內存和構建/銷燬是單獨的項目。我現在有空的析構函數並重載新的/刪除。
我不知道爲什麼這是令人沮喪的; C++在這方面非常合乎邏輯。如果你不需要做任何事情,留下一個空的析構函數。 – 2011-01-25 19:08:19