创建新的MFC应用程序时,向导会在几乎每个CPP文件中创建以下代码块:
#ifdef _DEBUG #define new DEBUG_NEW #endif
有时候它也增加了这个:
#undef THIS_FILE static char THIS_FILE[] = __FILE__;
如果它是多余的,我想从我的CPP文件中删除此代码.我在VS2008上使用带有C++/CLI的MFC应用程序.
从CPP中删除此代码后,我尝试在Debug中运行,它似乎工作正常."新"变量工作正常,没有泄漏,ASSERT对话框显示正确的文件名并跳转到违规行.
任何人都可以告诉我它的作用以及删除它是否安全?
删除它是完全安全的.这是一个调试辅助工具; 将其保留将在程序退出时出现的任何内存泄漏的输出窗口中生成警告.