我對動態分配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