Operatori di assegnazione
expression assignment-operator expression
assignment-operator : one of
= *= /= %= += –= <<= >>= &= ^= |=
Note
Gli operatori di assegnamento consentono di memorizzare un valore nell'oggetto definito dall'operando di sinistra. Esistono due tipi di operazioni di assegnamento: assegnamento semplice, in cui il valore del secondo operando è memorizzato nell'oggetto specificato dal primo operando e assegnazione composta, dove un'operazione aritmetica, uno shift, o un'operazione bit a bit viene eseguita prima di memorizzare il risultato. Tutti gli operatori di assegnamento nella tabella seguente ad eccezione dell'operatore = sono operatori di assegnamento composti.
Operatori di assegnazione
Operatore |
Significato |
---|---|
= |
Memorizza il valore del secondo operando nell'oggetto specificato dal primo operando (semplice assegnamento). |
*= |
Moltiplica il valore del primo operando per il valore del secondo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
/= |
Divide il valore del primo operando per il valore del secondo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
%= |
Calcola il modulo del primo operando specificato con il valore del secondo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
+= |
Somma il valore del secondo operando al valore del primo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
–= |
Sottrae il valore del secondo operando dal valore del primo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
<<= |
Esegue uno shift a sinistra del valore del primo operando di un numero di bit specificati dal valore del secondo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
>>= |
Esegue uno shift a destra del valore del primo operando di un numero di bit specificati dal valore del secondo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
&= |
Ottiene l'AND bit a bit del primo e del secondo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
^= |
Ottiene l'OR esclusivo bit a bit del primo e del secondo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
|= |
Ottiene l'OR inclusivo bit a bit del primo e del secondo operando; memorizza il risultato nell'oggetto specificato dal primo operando. |
Parole chiave per operatori
Tre degli operatori di assegnamento composti hanno testo equivalente. seguenti:
Operatore |
Equivalente |
---|---|
&= |
and_eq |
|= |
or_eq |
^= |
xor_eq |
Esistono due modi per accedere a queste parole chiave dell'operatore nei programmi: includere il file di intestazione iso646.h, o compilando con l'opzione del compilatore /Za (disabilita le estensioni del linguaggio).
Esempio
// 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;
}
Vedere anche
Riferimenti
Espressioni con operatori binari
Operatori C++, precedenza e associazione