我对动态分配3D数组有点困惑。现在,我只是分配一个内存大块像这样:动态分配3D数组
int height = 10;
int depth = 20;
int width = 5;
int* arr;
arr = new int[height * width * depth];
现在,我想的三维阵列中更改值,说:
//arr[depth][width][height]
arr[6][3][7] = 4;
不过,我可以不使用上面的代码来更改值。如何使用单个索引访问位置深度= 6,宽度= 3,高度= 7的元素?
arr[?] = 4;
有没有更好的方法来动态分配3D数组?
这是我认为的指针,如果你需要3个维度,那么不应该是int *** arr = new int [height] [width] [depth]; ? – 2012-04-20 00:34:30