次の方法で共有


CObject::operator new

ライブラリのリリース バージョンでは、new 演算子は mallocと同様の最適なメモリ割り当てを実行します。

void* PASCAL operator new( 
   size_t nSize  
);
void* PASCAL operator new( 
   size_t, 
   void* p  
);
void* PASCAL operator new( 
   size_t nSize, 
   LPCSTR lpszFileName, 
   int nLine  
);

解説

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

コード行を使用する場合

#define new DEBUG_NEW

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

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

[!メモ]

この演算子をオーバーライドする場合、または [削除]をオーバーライドする必要があります。標準ライブラリの _new_handler の関数を使用しないでください。

使用例

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

void* CAge::operator new(size_t nSize)
{
   return malloc(nSize);
}

void* CAge::operator new(size_t nSize, LPCSTR lpszFileName, int nLine)
{
   UNREFERENCED_PARAMETER(lpszFileName);
   UNREFERENCED_PARAMETER(nLine);
   return malloc(nSize);
}

必要条件

ヘッダー : afx.h

参照

関連項目

CObject クラス

階層図

CObject::operator delete