【发布时间】:2014-11-17 19:27:13
【问题描述】:
int main()
{
map<string,string> x;
x["Haitham"]="000@hotmail.com";
x.clear();
_CrtDumpMemoryLeaks();
return 0;
}
当我测试此程序的内存泄漏时,检测到输出 内存泄漏!
{152} 0x0070ABD8 处的普通块,8 字节长。
数据: 34 AB 70 00 00 00 00 00
{151} 0x0070AB90 处的普通块,8 字节长。
{150} 0x0070AB08 处的普通块,72 字节长。
数据:p p ` p > 60 A9 70 00 60 A9 70 00 60 A9 70 00 01 00 CD 光盘
{145} 0x00704C40 处的普通块,8 字节长。
数据: E4 FE 5E 00 00 00 00 00
{144} 0x0070A960 处的普通块,72 字节长。
数据: 08 AB 70 00 08 AB 70 00 08 AB 70 00 01 01 CD 光盘
数据:
18 AB 70 00 00 00 00 00
对象转储完成。
【问题讨论】:
-
尝试在引用
map的 3 行周围添加一组额外的大括号(或将它们移至另一个函数)。 -
请陈述一个明确的问题,而不仅仅是一些代码和标题
-
在您调用转储函数时,
x仍然存在。所以当然内部map分配将被视为泄露...