将向量初始化为vector (value)和vector [value]

问题描述 投票:1回答:2

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

c++ vector stl std
2个回答
2
投票

您正在混合苹果和香蕉:矢量初始化和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

0
投票

vector> v(100);初始化一个由100个元素组成的向量,其中每个元素均为对类型,所有值均初始化为0

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

© www.soinside.com 2019 - 2024. All rights reserved.