LINUX.ORG.RU

История изменений

Исправление hatred, (текущая версия) :

Нет, тут просто дело в том, что массивов в языке нет. Встроенный operator[] (на самом деле не оператор, в контексте Си, но допустим такую вольность) чисто синтаксический сахар, что бы не писать:

*(a + (3+1)) = value;

Можно с тем же успехом написать и так:

(a + 1)[3]

так что тут именно коммутативность сложения. operator[] уже сущность другого языка - C++ и именно тут не нужно было заботиться об обратной совместимости.

Исходная версия hatred, :

Нет, тут просто дело в том, что массивов в языке нет. Встроенный operator[] чисто синтаксический сахар, что бы не писать:

*(a + (3+1)) = value;

Можно с тем же успехом написать и так:

(a + 1)[3]

так что тут именно коммутативность сложения. operator[] уже сущность другого языка - C++ и именно тут не нужно было заботиться об обратной совместимости.