Pointeur sur élément d'un tableau multidimensionnel
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:
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 ?