Partilhar via


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 C++

Operadores, precedência e associatividade C++

Resultado dos operadores de atribuição

Atribuição simples (C++)

Atribuição composta

Operadores de atribuição C