初始化unique_ptr向量的任何方法
Any way to initialize a vector of unique_ptr?
例如
struct A
{
vector<unique_ptr<int>> m_vector { make_unique<int>(1), make_unique<int>(2) };
};
我试过了,但失败了。有什么方法可以初始化unique_ptr的向量吗?
不能从初始值设定项列表中移动,因为元素是const
。§8.5.4[dcl.init.list]/p5:
std::initializer_list<E>
类型的对象由初始化器列表,就好像实现分配了N
的数组一样const E
类型的元素,其中N是初始值设定项列表。该数组的每个元素都使用初始值设定项列表的相应元素,以及std::initializer_list<E>
对象被构造为引用大堆
您只能复制,但不能复制unique_ptr
,因为它只能移动。
在构建向量后,您必须使用push_back
或emplace_back
等来填充向量。
相关文章:
- 当可输入框在窗口中处于活动状态时获得通知的任何方法
- 无法"this"指针传递到另一个类并在 CPP 中调用该类的任何方法
- 任何方法都可以在C++中比较数据结构中的许多方法
- 在DelphiInterface上实现Dynamic_cast以获取基础对象类的任何方法
- 使用原始字节向量作为提升序列化的存档的任何方法
- 当我的结构中的任何变量发生更改时触发的事件的任何方法
- 是否有任何方法可以将两个boost :: multipRecision :: cpp_int编号乘以
- 是否有任何方法可以通过使用声明来提高可见度
- 设置用G 构建的二进制版本的任何方法
- 在参数相关查找之前进行模板替换的任何方法(或解决方法?
- 是否有任何方法可以在用户输入文本时读取字符
- 识别哪种QTIMER的任何方法
- C 模板功能是否有任何方法可以采用n个参数
- 告诉链接器"respect" __attribute__((__used__))的任何方法
- 是否有任何方法可以在初始化之前更改变量的类型,您可以用示例解释
- 是在32位系统上为Android Studio安装CMAKE的任何方法,以允许C 支持
- Winforms-将Visual C 项目UI转换为Visual C#的任何方法
- 复制列表类的构造函数,而无需在实现中使用任何方法
- 在成员变量上执行std :: upper_bound的任何方法
- 在海湾合作委员会中加快宏观预处理的任何方法