初始化大小为std :: vector的数组

时间:2019-07-10 14:16:00

标签: c++ initialization

这不会编译,因为采用大小(例如vector::vector( size_t )之类的构造函数)是explicit

constexpr auto n = 16;
std::vector< std::unique_ptr< int > > v[ 2 ]{ { n }, {} };

那么我该如何使用v[ 0 ]个默认构造元素初始化n并将v[ 1 ]留空?

1 个答案:

答案 0 :(得分:0)

您可以显式构造临时对象,例如

std::vector< std::unique_ptr< int > > v[ 2 ]{ std::vector< std::unique_ptr< int > >{ n }, {} };