次の方法で共有


CObject::operator delete

ライブラリのリリース バージョンでは、[削除] 演算子は、演算子を new割り当てたメモリを解放します。

void PASCAL operator delete( 
   void* p  
); 
void PASCAL operator delete( 
   void* p,
   void* pPlace 
); 
void PASCAL operator delete( 
   void* p, 
   LPCSTR lpszFileName, 
   int nLine  
);

解説

デバッグ バージョンでは、[削除] 演算子は、メモリ リークを検出するように設計された割り当て監視設定に参加します。

コード行を使用する場合

#define new DEBUG_NEW

.cpp ファイルの実装のいずれかに、を [削除] の 3 番目のバージョン使用する前に、新しいレポートに割り当てられたブロックでファイル名と行番号を格納する。 パラメーターの指定を気にする必要はありません; マクロは、がによって行われます。

デバッグ モードで DEBUG_NEW を使用しない場合でも、上記のソース ファイル行番号を報告せずによって、メモリ リークを取得します。

演算子をオーバーライド **new[削除]**と、この診断機能を放棄します。

使用例

CObject の例で使用されている CAge のクラスのリストについては、CObList::CObList を参照してください。

void CAge::operator delete(void* p)
{
   free(p);
}

void CAge::operator delete(void *p, LPCSTR lpszFileName, int nLine)
{
   UNREFERENCED_PARAMETER(lpszFileName);
   UNREFERENCED_PARAMETER(nLine);
   free(p);
}

必要条件

ヘッダー : afx.h

参照

関連項目

CObject クラス

階層図

CObject::operator new