微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法指定嵌套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的认值).

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐