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