Questions tagged «emplace»

5
在C ++ Map中插入vs Emplace vs operator []
我第一次使用地图,我意识到有很多插入元素的方法。您可以使用emplace(),operator[]或者insert(),再加上喜欢使用的变体value_type或make_pair。尽管关于它们的信息很多,也有关于特定案例的问题,但我仍然无法理解大局。因此,我的两个问题是: 他们每个人比其他人有什么优势? 是否有需要将Emplace添加到标准中?没有它,有什么是不可能的吗?

2
具有已构建对象的std :: move与emplace_back()的C ++ 11 push_back()效率
在C ++ 11emplace_back()中(就效率而言)通常更可取,push_back()因为它允许就地构造,但是当push_back(std::move())与已经构造的对象一起使用时,仍然是这种情况吗? 例如,emplace_back()在以下情况下还是首选? std::string mystring("hello world"); std::vector<std::string> myvector; myvector.emplace_back(mystring); myvector.push_back(std::move(mystring)); // (of course assuming we don't care about using the value of mystring after) 另外,在上面的示例中代替这样做有什么好处: myvector.emplace_back(std::move(mystring)); 还是此举完全是多余的,还是没有效果?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.