新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
在任何一次在.CPP文件的实现之前,然后将使用 new 的第二个版本,存储文件名,并在分配的行号最新报告块。不必担心提供额外的参数;宏负责表示您的。
即使您不使用 DEBUG_NEW 仍调试模式,则会泄漏检测,但,而不会描述的源文件行号报告顶部。
说明 |
---|
如果重写此运算符,您还必须重写 delete。不要使用标准库 _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