试图用c ++创建一个三维向量

时间:2012-03-21 20:36:24

标签: c++

所以,我试图创建一个3维5x3x2向量,使用向量lib并在每个节点中保存数字4。

这就是我的尝试:

vector<vector<vector<int> > > vec (5,vector <int>(3,vector <int>(2,4)));

对于bi维5x8在每个节点中保存int 6,这可以:

vector<vector<int> > vec (5,vector <int>(8,6));

2 个答案:

答案 0 :(得分:26)

你几乎做对了 - 第二个嵌套的vector应该是vector<vector<int> >,而不仅仅是vector<int>

vector<vector<vector<int> > > vec (5,vector<vector<int> >(3,vector <int>(2,4)));

答案 1 :(得分:9)

您也可以声明此表格:

// first form
typedef vector<int> v1d;
typedef vector<v1d> v2d;
typedef vector<v2d> v3d;
v3d v(5, v2d(3, v1d(2, 4)));

// second form
vector<vector<vector<int> > > v = vector<vector<vector<int> > >( 5, vector<vector<int> >(3, vector<int>(2, 4)))