Справочные данные по языку C++ 639

другие операции присваивания: Х %= Y эквивалентно Х = Х % Y и т.д. (см. соот-
ветствующие простые операции в разделах 11.7.2 и 11.7.6).

При записи составных операций присваивания между символом операции и
знаком равенства пробел не допускается.

В операциях присваивания первый операнд не может быть нулевым указателям.
Операции присваивания возвращают как результат присвоенное значение.
Благодаря этому они допускают сцепление. Например, вы можете написать:

А = (В = С = 1) + 1;

Выполняются операции присваивания справа налево. Поэтому приведенное
выражение задаст переменным В и С значения 1, а переменной А — 2. Вычислять-
ся это будет следующим образом. Сначала выполняются операции, заключенные в
скобки, а из них первой — самая правая (т.е. С = 1). Эта операция вернет 1, так что
далее будет выполнена операция В = 1. Она вернет значение 1, после чего выпол-
нится операция сложения 1+1. Полученное в результате значение 2 присвоится
переменной А.

Применительно к указателям на объекты надо четко представлять различие
между оператором присваивания и методом копирования Assign (см. соответству-
ющий раздел в главе 15), свойственным многим классам объектов. Метод Assign
используется следующим образом:

объект_приемник->Азз1дп(объект_источник) ;

Например:

A->Assign(В) ;

Этот оператор копирует содержание объекта В (все его свойства) в объект А.
Для тех же самых объектов А и В можно записать оператор присваивания:

А = В;

Различие между двумя приведенными операторами следующее. Метод Assign
копирует содержимое одного объекта в другой. Таким образом в памяти будет име-
ться два объекта А и В одинакового содержания. А оператор присваивания, приме-
ненный к указателям (имя объекта — это указатель на объект), присваивает указа-
телю А значение указателя В. Таким образом, и А, и В будут указывать на один и
гот же объект в памяти. А тот объект, на который до выполнения этого оператора
указывал А, может быть вообще потерян, если в программе где-то не хранится
другой указатель на него.

11.7.4 Операции отношения и эквивалентности

Операции отношения и эквивалентности используются при сравнении двух
операндов. Они возвращают true — истина, если указанное соотношение операн-
дов выполняется, и false (0) — ложь, если соотношение не выполняется. Определе-
ны следующие операции отношения:

Обозначение	Операция	Типы операндов	Пример
==	Равно	арифметический, указатели	I == Мах
!=	Не равно	арифметический, указатели	X!=Y
<	Меньше чем	арифметический, указатели	Х <Y
	Больше чем	арифметический, указатели	Len > 0
<=	Меньше или равно - -——- ---'-—- -	арифметический, указатели	Cnt <= I
>=	Больше или равно	арифметический, указатели	I >= 1