3D 配列の動的割り当てについて少し混乱しています。現在、次のように 1 つの大きなメモリ ブロックを割り当てています。
int height = 10;
int depth = 20;
int width = 5;
int* arr;
arr = new int[height * width * depth];
ここで、3D 配列の値を変更したいと思います。たとえば、次のようにします。
//arr[depth][width][height]
arr[6][3][7] = 4;
ただし、上記のコードを使用して値を変更することはできません。単一のインデックスを使用して、深さ = 6、幅 = 3、高さ = 7 の位置にある要素にアクセスするにはどうすればよいですか?
arr[?] = 4;
3D 配列を動的に割り当てるより良い方法はありますか?