c++ stl vector的push_back和emplace_back

在vector里,push_back和emplace_back都是向容器尾部添加新元素。

从用法来说,都是一样的。但是

emplace_back是c++11新增的,有些竞赛的评测机很可能不支持。
而emplace_back的实现是比push_back要好的,push_back本质上是又创建了一个新元素再拷贝到尾部,而emplace_back是直接在尾部创建,省去了送入元素的过程。
大多数情况下,emplace_back也并没有效率特别高于push_back

平时做题还是用push_back比较好

原文地址:https://www.cnblogs.com/ranzhong/p/14220200.html