#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]
?