问题简单而简短,但我还没有找到好的解决方案:How should I insert objects into a std::vector
?
显然,我可以执行 vec.push_back(MyObject(param1, param2, param3))
。但考虑到按值调用和 MyObject
的复制,这是一个合理的解决方案吗? (以防对象很大或不可复制。)
我也想知道在新建插入的对象上返回一个指针是不是省事了。
最佳答案
在 C++11 中,您可以使用 vector::emplace_back()
就地构造对象。
关于c++ - 将元素插入 vector 时避免复制参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28663180/