C++ 试图在c++;

C++ 试图在c++;,c++,C++,因此,我尝试创建一个三维5x3x2向量,使用向量库并在每个节点中保存数字4 这就是我所尝试的: vector<vector<vector<int> > > vec (5,vector <int>(3,vector <int>(2,4))); 向量向量(5,向量(3,向量(2,4)); 对于在每个节点中保存int 6的二维5x8,此操作有效: vector<vector<int> > vec (5,vector

因此,我尝试创建一个三维5x3x2向量,使用向量库并在每个节点中保存数字4

这就是我所尝试的:

vector<vector<vector<int> > > vec (5,vector <int>(3,vector <int>(2,4)));
向量向量(5,向量(3,向量(2,4)); 对于在每个节点中保存int 6的二维5x8,此操作有效:

vector<vector<int> > vec (5,vector <int>(8,6));
向量向量向量(5,向量(8,6)); 你几乎答对了——第二个嵌套的
向量应该是
向量
,而不仅仅是
向量

向量向量(5,向量(3,向量(2,4));
此外,您还可以声明以下表单:

// 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)))
//第一种形式
类型定义向量v1d;
typedef向量v2d;
typedef向量v3d;
v3dv(5,v2d(3,v1d(2,4));
//第二种形式
向量v=向量(5,向量(3,向量(2,4)))

3D向量类似于。你说的是一个3D阵列(使用向量向量的向量来模拟)。向量是一维数组,不管它有多大的维数。请不要这样做。使用
boost::multi_array
@KarlKnechtel使用boost可能不适合所有人,因为许可证或构建足迹限制。
// 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)))