Язык С++ и программирование на нем. Рейзлин В.И. - 13 стр.

UptoLike

Составители: 

15
3.1. Операция и выражение присваивания
Операция присваивания обозначается символом =
Простейший вид операции присвоения:
v = e
Здесь v любое выражение, которое может принимать значение, e
произвольное выражение.
Операция присвоения выполняется справа налево, т.е. сначала
вычисляется значение выражения e, а затем это значение присваивается
левому операнду v. Левый операнд в операции присваивания должен
быть т.н. адресным выражением, которое иначе называют -value.
Примером адресного, или именующего, выражения является имя пере-
менной.
Не является - value, например, выражение a+b.
Адресным выражением никогда не являются константы.
В языке C++ операция присваивания образует выражение при-
сваивания, то есть
a = b
означает не только засылку в a значения b, но и то, что a = b является
выражением, значением которого является левый операнд после при-
своения.
Отсюда следует, что возможна, например, такая запись:
a = b = c = d = e + 2;
Итак, результатом выражения присваивания является его левый
операнд. Если тип правого операнда не совпадает с типом левого, то
значение справа преобразуется к типу левого операнда (если это воз-
можно). При этом может произойти потеря значения, например:
int i; char ch;
i=3.14; ch=777;
Здесь i получает значение 3, а значение 777 слишком велико, что-
бы быть представленным как char, поэтому значение ch будет зависеть
от способа, которым конкретная реализация производит преобразование
из большего в меньший целый тип.
Существует так называемая комбинированная операция присваи-
вания вида
a оп =b, здесь опзнак одной из бинарных операций:
+ – * / % >> << & | ^ && ||.