I'm a little confused about dynamically allocating a 3d array. Right now, I'm just allocating one big block of memory like so:
int height = 10;
int depth = 20;
int width = 5;
int* arr;
arr = new int[height * width * depth];
Now I'd like to change a value in the 3D array, say:
//arr[depth][width][height]
arr[6][3][7] = 4;
However, I can't use the above code to change the value. How can I use a single index to access the element at position depth = 6, width = 3, height = 7?
arr[?] = 4;
Is there a better way to dynamically allocate a 3D array?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…