2009年5月6日星期三

容器erase的时候不会释放的指针指向的内存

一切看代码
主要是想用map管理无模式对话框,但不知道map erase的时候会不会释放掉内存。用map测试下。

//这个破博客 居然打不出来尖括号
#include "map"
#include "iostream"
#include "string"
using namespace std;


class A
{
public:
A(int _x,int _y){_x = x; _y =y;}

public:
int x;
int y;
};
typedef map stringAMap;





int main()
{
stringAMap map1;
A* a = new A(100,200);
map1.insert(make_pair("韦宇浩",a));
map1.insert(make_pair("陆一峰",new A(200,300)));
stringAMap::iterator pos;
pos = map1.find("韦宇浩");

if (pos != map1.end())
{
map1.erase(pos);
}
cout <<>x;
return 0;

}


看结果 便知,没有释放掉内存。








没有评论: