Warum erlaubt C++ die folgende Anweisung?Warum Array-Subskriptionsoperator funktioniert in beide Richtungen?
int a[10] = { 0 };
std::cout << 1[a] << std::endl;
std::cout << a[1] << std::endl;
Beide Zeilen drucken Null und es wird keine Compiler-Warnung generiert. Sollte nicht ungültig sein, da 1
kein Array ist und a
kein Integer-Typ ist.
Code-Beispiel: http://cpp.sh/4tan
Wegen Zeigerarithmetik. –
Fragen Sie den C-Standard, das ist, wo C++ seine arithmetische – KABoissonneault