2011-01-12 74 views
-1

如何从现有容器创建unordered_map的副本?我可以使用赋值运算符还是需要逐个迭代它? 另外,我使用shared_ptr作为地图中的值。我是否需要特别小心,因为它是shared_ptr?将一个STL容器的内容复制到另一个容器

typedef unordered_map<string, shared_ptr<classA>>MAP1; 
MAP1 map1; 
map1["abc"] = make_shared<classA>(); 
MAP2 map2 = map1; ?? //can I use assignment operator?? 

谢谢。

+8

我通常不会以这种方式回答,但是您是否尝试过? – GManNickG 2011-01-12 06:00:44

回答

1

是的,你可以。

关于shared_ptr,如果您希望复制的指针指向相同的值,那么no。如果你想要两个独立的副本(深层复制),那么你需要自己进行复制。

相关问题