#include <iostream>
using namespace std;
int main()
{
int arr[3] = { 10, 20, 30 };
cout << arr[-2] << endl;
cout << -2[arr] << endl;
return 0;
}
Sortie:
4196160
-30
Ici, arr[-2]
est en dehors des limites et invalide, ce qui entraîne un comportement indéfini .
Mais -2[arr]
évalué à -30
. Pourquoi?
N'est-ce pas arr[-2]
équivalent à -2[arr]
?