4.7.6. Ассоциативность операторов
В табл. 4.1 в столбце «А» указана ассоциативность операторов. Значение L указывает на ассоциативность слева направо, а значение R- на ассоциативность справа налево. Ассоциативность оператора определяет порядок выполнения операций с одинаковым приоритетом. Ассоциативность слева направо означает, что операции выполняются слева направо. Например, оператор вычитания имеет ассоциативность слева направо, поэтому следующие два выражения эквивалентны:
w = х - у - z;
w = ((х - у) - z);
С другой стороны, выражения
X = ~-у;
w = х = у = z;
q = a?b:c?d:e?f:g;
эквивалентны следующим выражениям:
x = ~(-у);
w = (х = (у = z));
q = a?b:(c?d:(e?f:g));
Причина в том, что унарные операторы, операторы присваивания и условные тернарные операторы имеют ассоциативность справа налево.
Больше книг — больше знаний!
Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ