C ++ std :: vector <int>问题

时间:2018-06-04 03:17:08

标签: c++ c++11 initialization stdvector

在main函数中,我正在初始化类型为std::vector <int>的变量:

std::vector <int> edges[9]

然后将我的元素添加到它。

我想知道有没有办法用变量初始化边? 做这样的事情:(已经知道这篇文章给出了错误)

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

2 个答案:

答案 0 :(得分:4)

如果要设置矢量的大小,请使用std::vector<int> foo(9)。你正在做的是用九个单独的向量初始化一个数组。

对于变量,您可以执行std::vector<int> foo(n)

答案 1 :(得分:0)

如果我正确理解了你的问题,你想要用&#34; 9&#34;初始化一个向量。 int space,你想用特定的值初始化它&#34; 10&#34;例如

以下是如何实现相同的目标。

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

resize保留初始尺寸,std::fill可用于填充所需值。

希望这有帮助