C ++ std :: vector <int>проблема - PullRequest
0 голосов
/ 04 июня 2018

В основной функции я инициализирую переменную типа std::vector <int> следующим образом:

std::vector <int> edges[9]

и затем добавляю к ней свои элементы.

я хочу знать, чтоЕсть ли способ инициализации ребер с переменными ??Чтобы сделать что-то вроде этого: (уже знаю, что это письмо дает ошибку)

int n=9;
std::vector <int> edges[n]

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Если я правильно понял ваш вопрос, вы хотите, чтобы вектор инициализировался с помощью «9» int space, и вы хотите инициализировать его определенным значением «10», например

Вот как вы можете это сделатьдостигните того же самого.

  std::vector <int> edges;
  edges.resize(9);
  cout<<"size =>"<<edges.size()<<endl;
  std::fill(edges.begin(), edges.end(), 10);

resize резервирует начальный размер, и std::fill может использоваться, чтобы заполнить его желаемым значением.

Надеюсь, это поможет

0 голосов
/ 04 июня 2018

Если вы хотите установить размер вектора, используйте std::vector<int> foo(9).То, что вы делаете, это инициализация массива с девятью отдельными векторами.

Для переменной вы можете сделать std::vector<int> foo(n).

...