Инициализировать массив std :: vector с размерами - PullRequest
1 голос
/ 10 июля 2019

Это не скомпилируется, потому что конструктор, который принимает размер (что-то вроде 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 голосов
/ 10 июля 2019

Вы можете явно создавать временные объекты, например,

std::vector< std::unique_ptr< int > > v[ 2 ]{ std::vector< std::unique_ptr< int > >{ n }, {} };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...