#include <iostream>
using namespace std;
int main()
{
int arr[3] = { 10, 20, 30 };
cout << arr[-2] << endl;
cout << -2[arr] << endl;
return 0;
}
Вывод:
4196160
-30
Здесь arr[-2] находится вне допустимого диапазона и недействителен, вызывая поведение undefined.
Но -2[arr] оценивается как -30. Почему?
Не arr[-2] эквивалентно -2[arr]?