Operadores de atribuição
expression assignment-operator expression
assignment-operator : one of
= *= /= %= += –= <<= >>= &= ^= |=
Comentários
Os operadores de atribuição armazenam um valor no objeto designado pelo operando à esquerda. Há dois tipos de operações de atribuição: atribuição simples, na qual o valor do segundo operando é armazenado no objeto especificado pelo primeiro operando, e atribuição composta, na qual uma operação aritmética, de troca, ou bit a bit é executadas antes de armazenar o resultado. Todos os operadores de atribuição na tabela a seguir, exceto o operador =, são operadores de atribuição composta.
Operadores de atribuição
Operador |
Significado |
---|---|
= |
Armazena o valor do segundo operando no objeto especificado pelo primeiro operando (atribuição simples). |
*= |
Multiplica o valor do primeiro operando pelo valor do segundo operando; armazena o resultado no objeto especificado pelo primeiro operando. |
/= |
Divide o valor do primeiro operando pelo valor do segundo operando; armazena o resultado no objeto especificado pelo primeiro operando. |
%= |
Obtém o módulo do primeiro operando especificado pelo valor do segundo operando; armazena o resultado no objeto especificado pelo primeiro operando. |
+= |
Soma o valor do segundo operando ao valor do primeiro operando; armazena o resultado no objeto especificado pelo primeiro operando. |
–= |
Subtrai o valor do segundo operando do valor do primeiro operando; armazena o resultado no objeto especificado pelo primeiro operando. |
<<= |
Alterna o valor do primeiro operando à esquerda do número de bits especificado pelo valor do segundo operando; armazena o resultado no objeto especificado pelo primeiro operando. |
>>= |
Alterna o valor do primeiro operando à direita do número de bits especificado pelo valor do segundo operando; armazena o resultado no objeto especificado pelo primeiro operando. |
&= |
Obtém o bit a bit AND do primeiro e do segundo operandos; armazena o resultado no objeto especificado pelo primeiro operando. |
^= |
Obtém o bit a bit exclusivo OR do primeiro e do segundo operandos; armazena o resultado no objeto especificado pelo primeiro operando. |
|= |
Obtém o bit a bit inclusivo OR do primeiro e do segundo operandos; armazena o resultado no objeto especificado pelo primeiro operando. |
Palavras-chave do operador
Três dos operadores de atribuição composta têm equivalentes de texto. Elas são:
Operador |
Equivalente |
---|---|
&= |
and_eq |
|= |
or_eq |
^= |
xor_eq |
Há duas maneiras de acessar essas palavras-chave do operador em seus programas: inclua o arquivo de cabeçalho iso646.h, ou compile com a opção de compilador /Za (Desabilitar extensões de linguagem).
Exemplo
// 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;
}
Consulte também
Referência
Expressões com operadores binários
Operadores, precedência e associatividade C++