c – “#define new DEBUG_NEW”和“#undef THIS_FILE”等是否真的有必要?

前端之家收集整理的这篇文章主要介绍了c – “#define new DEBUG_NEW”和“#undef THIS_FILE”等是否真的有必要?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
创建新的MFC应用程序时,向导将在几乎每个CPP文件中创建以下代码块:
#ifdef _DEBUG
#define new DEBUG_NEW
#endif

有时它也增加了这一点:

#undef THIS_FILE
static char THIS_FILE[] = __FILE__;

如果它是多余的,我想从我的CPP文件删除代码.我在VS2008上使用带有C/C++LI的MFC应用程序.

在CPP中删除代码之后,我已尝试在Debug中运行,似乎工作正常. “新”变量工作正常,没有泄漏,ASSERT对话框显示正确的文件名并跳转到违规行.

任何人都可以告诉我它有什么作用以及是否可以删除它?

解决方法

删除这个是完全安全的.这是一个调试帮助留下它会在程序退出时出现的任何内存泄漏的输出窗口中生成警告.

猜你在找的C&C++相关文章