Bonjour,

Si dans la pratique, les tableaux multidimensionnels sont stocké comme une unique suite d'éléments consécutifs, est-ce garanti par le standard ? Si je veux itérer sur un tableau multidimensionnel par l'intermédiaire d'un pointeur, pointera t-il toujours sur un emplacement légal ? Est-ce qu'il peut y avoir des contraintes d'alignement laissant des blancs entre les lignes ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
int t[16][16][16];
 
for (int *p = &t[0][0][0] ; p < &t[15][15][16] ; p++)
  *p = 1;
Bref, ce code est il conforme au(x) standard(s) c++ ou repose t-il sur un comportement indéfini ?