将向量启动为 vector < class > ( value ) 和 vector < class > [ value ] 之间有什么区别

What is the difference between initiating a vector as vector < class > ( value ) and vector < class > [ value ]

当我的初始化是:
vector < pair < int , int > > v ( 100 );
我无法执行:
vecini[x].push_back( make_pair( y , z ) ) ;
但是当我像这样启动它时它会起作用:
vector < pair < int , int > > v [100];

您在这里混合了苹果和香蕉:向量初始化和 C 样式数组。

using type = vector<pair<int, int>>;
type x(100); // <- single vector with 100 elements in it
type y[100]; // <- array of 100 vectors, with 0 elements in each

向量>v(100);初始化一个包含 100 个元素的向量,其中每个元素都是 pair 类型,所有值都初始化为 0

向量>v[100];初始化一个包含 100 个元素的数组,其中每个元素都是类型对

的向量