c++ - 将元素插入 vector 时避免复制参数

标签 c++

问题简单而简短,但我还没有找到好的解决方案: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/

相关文章:

c++ - 基于 C++ 表单的应用程序中的 ActiveX 控件

c++ - 在 opencv 2DFilter 中使用自定义内核 - 导致崩溃......卷积如何?

c++ - 快速排序中的比较计数

c++ - 在 C++ 中写入/读取文件

c++ - 什么更快?

c++ - 使用 getline 读取文件时将值迭代到 vector 中

c++ - 当 CMake 中的生成器或输入发生更改时,如何仅构建自动生成的代码?

c# - protobuf-net 中的动态 protobuf 消息

c++ - C++20 中两种模块文件(接口(interface)和实现)的意义何在?

c++ - 使用 MinGW 在 C++ 中生成异常堆栈跟踪