新的 CObject::operator
對於程式庫的發行版本中,運算子 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
在中, new 第二個版本會使用目前的任何在 .CPP 檔案的實作,儲存檔名和行號在最新狀態報告的配置的區塊。 您不必擔心提供額外的參數,巨集負責寫入事件。
即使您不是使用 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);
}
需求
Header: afx.h