Edit: Ich habe die schneller/effizienter aus dem Titel der Frage entfernt, wie es irreführend war .. meine Absicht war nicht Optimierung, aber Verständnis Arrays . Entschuldigen Sie die Umstände!In C++, die die Möglichkeit ist, sequentiell auf ein 2D-Array zuzugreifen (Speicherblock weise)
int array[10][10], i, j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
std::cin>>array[i][j];
}
Versus
int array[10][10], i, j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
std::cin>>array[j][i];
}
Ich bin mir ziemlich sicher, dass die Antwort mit dem zu tun hat, wie Arrays auf Hardware-Ebene umgesetzt werden; dass die Syntax [] [] nur die Abstraktion eines Programmierers ist, um die Visualisierung/Modellierung zu unterstützen. Allerdings habe ich, welche der oben genannten Code greift auf den Speicherblock sequentiell von Anfang bis Ende vergessen ...
Danke für alle Antworten ...
Nur mein Verständnis zu bestätigen, bedeutet dies der erste Code äquivalent zu
int array[10][10], k;
for(k=0;k<100;k++)
{
std::cin>>*(array+k);
}
Das wollte ich bestätigen, danke! –