638_____________________________________________Глава 11

дичится на 1 в результате первой операции инкремента и еще раз увеличится на 1
в результате второй операции инкремента.

Если изменить эти операторы следующим образом:

int i = 1, j ;

j = ++i * ++i;

то результат будет другим: значение i будет равно 3, а значение j — 9. В этом слу
чае оператор, присваивающий значение переменной j будет работать следующим
образом: сначала выполнится первая операция инкремента и значение i станет
равно 2; затем выполнится вторая операция инкремента и значение i станет равно
3; а затем это значение i умножится само на себя, т.е. вычислится значение выра-
жения в правой части оператора, и это значение присвоится переменной j.

11.7.3 Операции присваивания, отличие присваивания
от метода Assign

В C++ определен ряд операций присваивания.

Обозначение	Операция	Типы операндов и результата	Пример
=	присваивание	любые	X=Y
+=	присваивание со сложением	арифметические, указатели, структуры, объединения	Х +=Y
—==	присваивание с вычитанием	арифметические, указатели, структуры, объединения	X-=Y
*=	присваивание с умножением	арифметические	X *=Y
/=	присваивание с делением	арифметические	X/=Y
%=	присваивание остатка целочисленного деления	целые	X %=Y
«=	присваивание со сдвигом влево	-- ————————— целые	X «=Y
»=	присваивание со сдвигом вправо	целые	X »=Y
&=	присваивание с поразрядной операцией И	целые	X&=Y
S	присваивание с поразрядной операцией исключающее ИЛИ	- ——^ •—— - ---целые	X '=Y
h	присваивание с поразрядной операцией ИЛИ	целые	X |-Y

Помимо простой операции присваивания (=) все прочие являются составными
операциями. Они присваивают первому операнду результат применения соответст-
вующей простой операции, указанной перед символом «==», к первому и второму
операндам.

Например, выражение Х += Y эквивалентно выражению Х = Х + Y, но запи-
сывается компактнее и может выполняться быстрее. Аналогично определяются и