Как инициализировать в C++11 в одну строку вектор из n равных элементов?

Я знаю, в C++11 я могу построить вектор с синтаксисом, как:

vector <int> a = {1,2,3,4,5};

но возможно ли без зацикливания подобным образом инициализировать вектор для ряда равных элементов?

например

int n= 5;
vector <string> a = (n, {"bbb"});

3 ответа

Да,

vector<string> a(n, "bbb");

Это работает и в C++03.

Ты почти там. Существует конструктор для указания размера и (необязательно) значения для инициализации элементов:

vector<string> a(n, "bbb");

Я искал везде так, и тогда ответ был только в C++ ref: http://www.cplusplus.com/reference/vector/vector/vector/

Это должно быть так же просто, как:

int n= 5;
vector<string> a (n,"bbb");
Другие вопросы по тегам