C++大量的手动分配、回收内存是存在风险的,也许一个函数中一小块内存泄漏被重复放大之后,后掏空内存。
这里介绍一种在debug模式下测试内存泄漏的方法。
首先在文件的开头以确定的顺序写下这段代码:
1 #define _CRTDBG_MAP_ALLOC
2 #include <crtdbg>
3 #include <stdlib>
第1行定义了宏,实现一些内存分配函数向debug模式的映射。
打开<crtdbg>我们可以找到这么一段代码:
C++的内存泄漏检测1 #define NEW_WITH_MEMORY_LEAK_CHECKIN