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
);
备注
在调试版本,运算符 delete 参与设计的分配监视模式检测内存泄漏。
如果使用代码行
#define new DEBUG_NEW
在任何一次在.CPP文件的实现之前,然后将使用 delete 的第三个版本,存储文件名,并在分配的行号最新报告块。不必担心提供额外的参数;宏负责表示您的。
即使您不使用 DEBUG_NEW 仍调试模式,则会泄漏检测,但,而不会描述的源文件行号报告顶部。
如果重写运算符 new 和 delete,则会丧失此诊断功能。
示例
提供用于 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);
}
要求
Header: afx.h