Существует несколько операций присваивания, все они выполняютсясправа налево. Для всех них требуется, чтобы левым операндом былизменяемый адрес. Тип выражения присваивания совпадает с типомлевого операнда. Результат операции присваивание - значение,хранящееся в левом операнде после того как произошло присваивание.Результат является адресом. выражение-присваивания: выражение-условия унарное-выражение операция-присваивания выражение-присваивания операция-присваивания: один из = *= /= %= += -= >>= <<= &= ^= |= При простом присваивании (=) значение выражения заменяет собой значениеобъекта, с которым сопоставляется левый операнд. Если оба операндаарифметического типа, правый операнд, прежде чем произойдетприсваивание, преобразуется к типу левого операнда. Неявныепреобразования к типу перечисления ($$R.7.2) не производятся, поэтомуесли левый операнд имеет тип перечисления, правый операнд долженбыть таким же. Если левый операнд имеет тип указателя, правыйоперанд должен быть типа указателя или выражением-константой, дающимрезультат 0. Правый операнд преобразуется к типу левого операнда,прежде выполнения присваивания. Указатель типа T* const можно присваивать указателю типа T*, нообратное присваивание считается незаконным ($$R.7.1.6). Объектытипа const T или volatile T можно присваивать по адресу типа T илиvolatile T (см. так же $$R.8.4). Если левый операнд имеет тип указателя на член, правый операнддолжен быть типа указатель на член или выражением-константой,дающим результат 0; перед присваиванием правый операнд преобразуетсяк типу левого операнда. Присваивание объектам класса X ($$R.9) задается функциейX::operator=() ($$R.13.4.3). Если пользователь не определилсвою функцию X::operator=(), для присваивания используетсястандартный вариант ($$R.12.8). Отсюда следует, что объект класса,который является прямым или непрямым производным от X, иоднозначно описан как производный в части public ($$R.4.6),можно присвоить объекту X. Указатель на член класса B можно присваивать указателю на члентого же типа класса D при условии, что D является прямым илинепрямым производным класса B, и однозначно описан какпроизводный в части public ($$R.10.1.1). Присваивание объекту типа "ссылка на T" сводится к присваиваниюобъекту типа T, который обозначается ссылкой. Выполнение выражение вида E1 op= E2 эквивалентно выполнениюE1 = E1 op (E2), однако E1 вычисляется лишь один раз. В операциях+= и -= левый операнд может быть указателем, в этом случае правый(целочисленный) операнд преобразуется так, как объяснялось в $$R.5.7.Все правые операнды и все левые операнды, не являющиеся ссылками,должны быть арифметического типа. Для объектов класса присваивание в общем случае не совпадает синициализацией ($$R.8.4, $$R.12.1, $$R.12.6, $$R.12.8).