我知道向量可以被构造成预定义的大小
vector<int> foo(4);
但是有没有办法指定嵌套向量的维数?
vector< vector<int> > bar(4);
让我说我想要一个4的矢量包含大小4的矢量…像一个4×4多维数组的ints?
解决方法
that constructor的第二个参数是初始化的值.现在你得到4个默认构造的向量.用简单的1D示例来澄清:
// 4 ints initialized to 0 vector<int> v1(4); // *exactly* the same as above,this is what the compiler ends up generating vector<int> v2(4,0); // 4 ints initialized to 10 vector<int> v3(4,10);
所以你要:
vector< vector<int> > bar(4,vector<int>(4)); // this many ^ of these ^
这将创建一个int的向量向量,初始化为包含4个向量,初始化为包含4个int,初始化为0(如果需要,可以指定int的默认值).
嘴巴满满,但不要太辛苦.