C++.Бархатный путь



Перечень операций - часть 7


В процессе трансляции выражений на этапе генерации кода транслятор строит последовательности машинных кодов, реализующие закодированные в выражениях действия. Например, при трансляции выражения A = A + 125

транслятор, прежде всего, генерирует код для вычисления значения выражения A + 125 и присвоения результата переменной A. При этом фрагмент кода, вычисляющий адрес переменной A дважды войдёт во множество команд процессора, реализующих это выражение.

В целях упрощения структуры подобных операторов в C++ применяются комбинированные (или сокращённые) формы операторов присваивания.

*= Операция присвоения произведения. A *= B

Присвоение левому операнду произведение значений левого и правого операндов. Операция по своему результату эквивалентна простой форме операции присвоения, у которой правый операнд имеет вид произведения A * B, левый операнд имеет вид A. При этом A является модифицируемым l-выражением:

A = A * B

/= Операция присвоения частного от деления. A /= B + 254

Присвоение левому операнду частного от деления значения левого операнда на значение выражения правого операнда. Операция по своему результату эквивалентна простой форме операции присвоения, у которой правый операнд имеет вид A / (B + 254)

левый операнд прелставляется выражением A. Очевидно, что при этом A должно быть модифицируемым l-выражением:

A = A / (B + 254)

%= Операция присвоения остатка от деления. A %= B

Левый операнд должен быть модифицируемым l-выражением.

+= Операция присвоения суммы. A += B

Левый операнд должен быть модифицируемым l-выражением.

-= Операция присвоения разности. A -= B

Левый операнд должен быть модифицируемым l-выражением.

<<= Операция присвоения результата операции побитового сдвига влево на количество бит, равное значению правого целочисленного операнда. A <<= B

Левый операнд должен быть модифицируемым l-выражением.

>>= Операция присвоения результата операции побитового сдвига вправо на количество бит, равное значению правого целочисленного операнда. A <<= B




Содержание  Назад  Вперед