Постфиксное выражение, за которым следует выражение в квадратных скобках, является постфиксным выражением. Одно из выражений должно быть значением glvalue типа «array of T» или prvalue типа «указатель на T», а другое должно быть prvalue перечисления без области действия или целочисленного типа. Результат имеет тип «T». Тип «T» должен быть полностью определенным типом объекта.66 Выражение E1[E2] идентично (по определению) *((E1)+(E2)) [ Note: см. [expr.unary] И [expr.add] для деталей * и + и [dcl.array] для деталей массивов. ], за исключением того, что в случае операнда массива результатом является lvalue, если этот операнд является lvalue, и xvalue в противном случае. Выражение упорядочивается перед выражением . — end note E1 E2
Это верно , даже если индекс оператор используется в общих идиомы: &x[0].