C++ 在向量中插入元素时避免复制参数

C++ 在向量中插入元素时避免复制参数,c++,C++,问题简单而简短,但我还没有找到一个好的解决方案:我应该如何将对象插入std::vector? 显然,我可以做vec.push_back(MyObject(param1,param2,param3))。但是,考虑到按值调用并因此复制MyObject,这是合理的解决方案吗?(如果对象较大或不可复制。) 我还想知道在新构造和插入的对象上返回指针是否可以保存。使用C++11,您可以使用vector::emplace_back()就地构造对象

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

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


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

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