Поделиться через


Операторы присваивания

expression assignment-operator expression 
assignment-operator : one of
   =   *=   /=   %=   +=   –=   <<=   >>=   &=   ^=   |=

Заметки

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

Операторы присваивания

Оператор

Значение

=

Сохранение значения второго операнда в объект, указанный первым операндом (простое присваивание).

*=

Умножение значения первого операнда на значение второго операнда; сохранение результата в объект, указанный первым операндом.

/=

Деление значения первого операнда на значение второго операнда; сохранение результата в объект, указанный первым операндом.

%=

деление по модулю первого операнда на значение второго операнда; сохранение результата в объект, указанный первым операндом.

+=

Сложение значения первого операнда со значением второго операнда; сохранение результата в объект, указанный первым операндом.

–=

Вычитание значения второго операнда из значения первого операнда; сохранение результата в объект, указанный первым операндом.

<<=

Сдвиг значения первого операнда влево на количество битов, заданное значением второго операнда; сохранение результата в объект, указанный первым операндом.

>>=

Сдвиг значения первого операнда вправо на количество битов, заданное значением второго операнда; сохранение результата в объект, указанный первым операндом.

&=

Выполнение операции побитового И для значений первого и второго операндов; сохранение результата в объект, указанный первым операндом.

^=

Выполнение операции побитового исключающего ИЛИ для значений первого и второго операндов; сохранение результата в объект, указанный первым операндом.

|=

Выполнение операции побитового включающего ИЛИ для значений первого и второго операндов; сохранение результата в объект, указанный первым операндом.

Ключевые слова операторов

Три составных оператора присвоения текстовые эквиваленты. Они приведены ниже.

Оператор

Эквивалент

&=

and_eq

|=

or_eq

^=

xor_eq

Сделать эти три ключевых слова операторов доступным в ваших программах можно двумя способами: включить файл заголовка iso646.h или установить параметр компиляции /Za (отключить расширения языка).

Пример

// expre_Assignment_Operators.cpp
// compile with: /EHsc
// Demonstrate assignment operators
#include <iostream>
using namespace std;
int main() {
   int a = 3, b = 6, c = 10, d = 0xAAAA, e = 0x5555;

   a += b;      // a is 9
   b %= a;      // b is 6
   c >>= 1;      // c is 5
   d |= e;      // Bitwise--d is 0xFFFF 

   cout  << "a = 3, b = 6, c = 10, d = 0xAAAA, e = 0x5555" << endl
         << "a += b yields " << a << endl
         << "b %= a yields " << b << endl
         << "c >>= 1 yields " << c << endl
         << "d |= e yields " << hex << d << endl;
}

См. также

Ссылки

Выражения с бинарными операторами

Операторы C++

Операторы C++, приоритет и ассоциативность

Результат операторов присваивания

Простое назначение (C++)

Составное назначение

Операторы назначения в C