有没有办法指定嵌套STL向量C的维度?

前端之家收集整理的这篇文章主要介绍了有没有办法指定嵌套STL向量C的维度?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道向量可以被构造成预定义的大小
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的默认值).

嘴巴满满,但不要太辛苦.

猜你在找的C&C++相关文章