将赋值运算符与 unique_ptr 向量一起使用
Using assignment operator with vector of unique_ptr
如果我有一个std::unique_ptr
std::vector
并调整它的大小,并且想按索引添加元素,那么使用 operator=
添加它们的最佳方法是什么?
std::vector<std::unique_ptr<item>> _v;
_v.resize(100);
// is it safe to use the assignment operator?
_v[20] = new item;
如果你使用
C++14,你可以使用 std::make_unique,就像那样
_v[20] = std::make_unique<item>(/* Args */);
否则,如果您未满 C++14,则可以自行实现 std::make_unique
,或使用 的构造函数 std::unique_ptr
_v[20] = std::unique_ptr<item>(new item(/* Args */));
std::unique_ptr
没有采用原始指针的赋值运算符。
但是它确实有一个从另一个std::unique_ptr
移动的赋值运算符,您可以使用std::make_unique()
创建:
_v[20] = std::make_unique<item>();
相关文章:
- 将 boost::odeint 与向量类一起使用,而无需调整向量的大小
- 将 [][] 运算符与向量一起使用?
- 如何在 c++ 中将变换与对的向量一起使用
- 与unordered_map向量一起使用的最小示例中的scoped_allocator_adaptor错误
- 如何将基于范围的 for 循环与未来的<T>向量一起使用
- 如何将"查找"和"substr"函数与向量一起使用?
- 如何将find_first_not_of与字符串向量一起使用
- 将Mutex和lock_guard与C++中的向量一起使用
- 将赋值运算符与 unique_ptr 向量一起使用
- 将 at() 与自定义对象的向量一起使用时的分割错误
- 自定义分配器有时会与stl向量一起崩溃
- 将 C++ 中的"extern C"与 ctypes 的向量一起使用
- 将memcpy与Eigen类型的向量一起使用安全吗
- 将赋值运算符与类实例和向量一起使用
- 将二叉搜索与向量一起使用
- 在C++中将一个向量与另一个向量一起排序
- 将自定义类与向量一起使用:'std::vector'默认构造函数错误
- 与向量一起使用的C++可为Null/可选项的整数
- 与指针向量一起使用的最佳智能指针是什么
- 如何将提取运算符 (>>) 与向量一起使用<bool>?