設定運算子: =、 1 =,/ =,%=,+ =,-=,<< =,>> =、 & =,^ =、 和 | =
expression assignment-operator expression
assignment-operator : one of
= *= /= %= += –= <<= >>= &= ^= |=
備註
設定運算子會將值存入左邊的運算元所指定的物件。 有兩種設定運算: 簡單指派時,第二個運算元的值儲存在第一個運算元,所指定的物件和複合指派] 中,算術、 shift 鍵或位元運算之前要儲存該結果會執行。 除了下表中的所有工作分派運算子 = 運算子是複合設定運算子。
指派運算子
運算子 |
意義 |
---|---|
= |
將第二個運算元的值儲存在第一個運算元 (簡單的工作分派) 所指定的物件。 |
*= |
相乘的第一個運算元的值,乘以的值,第二個運算元。 將結果儲存在第一個運算元所指定的物件。 |
/= |
將第一個運算元的值,乘以的值,第二個運算元。 將結果儲存在第一個運算元所指定的物件。 |
%= |
採取第二個運算元 ; 值所指定的第一個運算元的模數 將結果儲存在第一個運算元所指定的物件。 |
+= |
第二個運算元的值加入值的第一個運算元。 將結果儲存在第一個運算元所指定的物件。 |
–= |
數值減去第二個運算元的值,第一個運算元。 將結果儲存在第一個運算元所指定的物件。 |
<<= |
移動剩下的第二個運算元 ; 值所指定的位元數的第一個運算元的值 將結果儲存在第一個運算元所指定的物件。 |
>>= |
移動第一個運算元右邊的第二個運算元 ; 值所指定的位元數的值 將結果儲存在第一個運算元所指定的物件。 |
&= |
取得位元 AND 運算的第一個和第二個運算元。 將結果儲存在第一個運算元所指定的物件。 |
^= |
取得元獨占 OR 運算的第一個和第二個運算元。 將結果儲存在第一個運算元所指定的物件。 |
|= |
取得內含位元 OR 運算的第一個和第二個運算元。 將結果儲存在第一個運算元所指定的物件。 |
運算子關鍵字
這三個複合設定運算子有相對應文字。 這些視窗是:
運算子 |
對等用法 |
---|---|
&= |
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;
}