C++ C++;标准::向量<;int>;问题

C++ C++;标准::向量<;int>;问题,c++,c++11,initialization,stdvector,C++,C++11,Initialization,Stdvector,在main函数中,我正在初始化类型为std::vector的变量,如下所示: std::vector <int> edges[9] std::向量边[9] 然后将我的元素添加到其中 我想知道的是有没有一种用变量初始化边的方法?? 做这样的事情:(已经知道这样写会出错) int n=9; 标准::向量边[n] 如果要设置向量的大小,请使用std::vector foo(9)。您要做的是初始化一个包含九个独立向量的数组 对于变量,可以执行std::vector foo(n)如果要设置

在main函数中,我正在初始化类型为
std::vector
的变量,如下所示:

std::vector <int> edges[9]
std::向量边[9]
然后将我的元素添加到其中

我想知道的是有没有一种用变量初始化边的方法?? 做这样的事情:(已经知道这样写会出错)

int n=9;
标准::向量边[n]

如果要设置向量的大小,请使用
std::vector foo(9)
。您要做的是初始化一个包含九个独立向量的数组


对于变量,可以执行
std::vector foo(n)
如果要设置向量的大小,请使用
std::vector foo(9)
。您要做的是初始化一个包含九个独立向量的数组


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

如果我正确理解了您的问题,您希望使用“9”int空间初始化一个向量,并希望使用特定值“10”对其进行初始化

以下是如何实现同样的目标

  std::vector <int> edges;
  edges.resize(9);
  cout<<"size =>"<<edges.size()<<endl;
  std::fill(edges.begin(), edges.end(), 10);
std::向量边;
边缘。调整大小(9);

cout如果我正确理解了你的问题,你想用“9”int空间初始化一个向量,你想用一个特定的值“10”来初始化它

以下是如何实现同样的目标

  std::vector <int> edges;
  edges.resize(9);
  cout<<"size =>"<<edges.size()<<endl;
  std::fill(edges.begin(), edges.end(), 10);
std::向量边;
边缘。调整大小(9);

coutFantastic答案,sirIt看起来OP之前拥有9个向量很好,你没有真正回答问题奇妙的答案,sirIt看起来OP之前拥有9个向量很好,你没有真正回答问题首先,
std::vector::resize()
,实际上不是,保留,相反,它直接影响向量的大小,因为它使用您提供的首选大小重新分配向量。其次,这里不需要使用
std::fill
;取而代之的是单行
std::vector edges(9,10)是你想要做的事情所必需的。jejo感谢std::vector edges(9,10)的快捷方式。我查看了矢量实现,发现它做了相同的事情,即resize+std::fill(..),首先,
std::vector::resize()
,实际上不是保留,而是直接影响矢量的大小,因为它使用您提供的首选大小重新分配矢量。其次,这里不需要使用
std::fill
;取而代之的是单行
std::vector edges(9,10)是你想要做的事情所必需的。jejo感谢std::vector edges(9,10)的快捷方式。我研究了向量实现,发现它做了同样的事情,即resize+std::fill(…),