Je suis un peu confus au sujet de l'allocation dynamique d'un tableau 3d. En ce moment, je suis juste attribution d'un grand bloc de mémoire comme ceci:allouer dynamiquement tableau 3d
int height = 10;
int depth = 20;
int width = 5;
int* arr;
arr = new int[height * width * depth];
Maintenant, je voudrais changer une valeur dans le tableau 3D, par exemple:
//arr[depth][width][height]
arr[6][3][7] = 4;
Cependant, je peux n'utilisez pas le code ci-dessus pour changer la valeur. Comment puis-je utiliser un seul index pour accéder à l'élément à profondeur de position = 6, largeur = 3, hauteur = 7?
arr[?] = 4;
Existe-t-il un meilleur moyen d'allouer dynamiquement un tableau 3D?
C'est le pointeur je pense, si vous avez besoin de 3 dimensions alors ne devrait-il pas être int *** arr = new int [hauteur] [largeur] [profondeur]; ? –