Tableaux à plusieurs dimensions
Bonjour,
Petite question concernant les tableaux à plusieurs dimensions: est-ce que les écritures suivantes sont équivalentes?
Code:
1 2 3 4
|
int tab[size];
for(int i = 0; i < size; i++)
tab[size] = ... |
Code:
1 2 3 4 5
|
int tab[n][m];
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++)
tab[i][j] = ... |
Avec size = n*m. Je pense que le compilateur remplace les tableaux [n][m] par des tableaux [n*m], et les appels [i][j] par des [i*m+j]. Donc performances exactement les même?
Je me demande ça dans l'optique d'utiliser un std::vector comme tableau d'objets à deux dimensions, plutôt qu'un std::vector<std::vector> ou qu'utiliser boost. Votre avis?