Bonjour,

Petite question concernant les tableaux à plusieurs dimensions: est-ce que les écritures suivantes sont équivalentes?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
int tab[size];
for(int i = 0; i < size; i++)
tab[size] = ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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?