Sie vertrauen sollen zugreifen können der Compiler damit. Jedoch kann ich zwei Alternativen vorschlagen, dass ich gut funktioniert je nach Anwendung kennen.
1) verwenden int a [10] [10], aber stellen Sie sicher, dass Sie sie in der richtigen Reihenfolge zugreifen, wenn Looping. Der Compiler wird "unter" verwenden, um ein einziges Array-Struktur, um so acessing
for(i = 0 ; i < 10 ; i++) {
for (j = 0 ; j < 10 ; j++) {
// do something with a[i][j]
}
}
vs
for(i = 0 ; i < 10 ; i++) {
for (j = 0 ; j < 10 ; j++) {
// do something with a[j][i]
}
}
unterscheidet sich in Bezug auf die Leistung. Der spätere ist leistungsfähiger.
2) Die Option 1 erfordert zusätzliche Pflege und ist kontraintuitiv. Ich viel lieber
int a[100]
und tun
for(i = 0 ; i < 100 ; i++)
inline_function(a[i]);
zu tun, wo die Funktion inline deklariert werden sollte, und die Vorform das, was Sie getan haben müssen. Wenn Sie die Funktion vermeiden können, ist es noch besser. Zum Beispiel, wenn es sich um eine Summe ist, ist es 2d oder Vektor mit nichts ändern.
EDIT: Hier ist eine Referenz, die in den Details, die etwas über das Array, um zu erklären: http://www.cplusplus.com/doc/tutorial/arrays/
Ich denke, der Unterschied hier ist, was ist leichter zu verstehen. – Matthew