c ++对象本地副本的映射

时间:2013-09-25 12:21:41

标签: c++ map copy local

我有一个对象地图,我将一个对象复制到局部变量,然后删除地图中的对象。当我处理本地对象时,这会产生问题吗?

std::map<int, obj>::iterator it2 = mymap.find(objnum);
mylocalobj = it2->second;
mymap.erase(it2);
//continue working on mylocalobj 

1 个答案:

答案 0 :(得分:1)

复制是这里的关键词,如果你在地图中复制了对象,那么原件上发生的事情就不再重要了,除非你还没有在obj类中正确实现了复制语义。

如果您还没有这样做,那么您应该将您的代码视为错误。