Операторы присваивания
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++, приоритет и ассоциативность