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

0

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

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

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

например

int n= 5;
vector <string> a = (n, {"bbb"});
Теги:
c++11
initialization
vector
stdvector

3 ответа

7

Да,

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

Это также работает на С++ 03.

5

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

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

Я везде повсюду смотрел, а затем ответ был только в c++ ref: http://www.cplusplus.com/reference/vector/vector/vector/

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

int n= 5;
vector<string> a (n,"bbb");
  • 0
    FWIW, это не "ссылка C ++". И const пожалуйста!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню