在矢量中插入元素时,请避免复制参数

Avoid copying of argument when inserting elements into a vector

本文关键字:复制 参数 插入 元素      更新时间:2023-10-16

这个问题简单而简短,但我还没有找到一个好的解决方案:我应该如何将对象插入std::vector

很明显,我可以做vec.push_back(MyObject(param1, param2, param3))。但是,考虑到按值调用并因此复制MyObject,这是一个合理的解决方案吗?(如果对象较大或无法复制。)

我还想知道在新构建和插入的对象上返回指针是否是保存操作。

使用C++11,您可以使用vector::emplace_back()就地构造对象。