map对于指针的存储,只进行浅拷贝,下面上代码
struct s_test * tmap = new s_test();
tmap->a = 12;
map<int , s_test*> _map;
_map[1] = tmap;
// delete tmap;
cout<<"map test result is"<<_map[1]->a<<endl;
如果delete掉了tmap,那么就会输出 0 表示错误
如果没有delete 那么就会输出12 是正确的,所以map为浅拷贝
(to be continued)