共用方式為


指派運算子

expression assignment-operator expression 
assignment-operator : one of
   =   *=   /=   %=   +=   –=   <<=   >>=   &=   ^=   |=

備註

指派運算子來儲存左方運算元所指定的物件值。 有兩種指派運算子:簡單指派,第二個運算元的值儲存在第一個運算元所指定的物件;另一則為複合指派,算術、移位或位元運算在儲存結果之前執行。 下表中所有指派運算子除了 = 運算子都是複合指派運算子。

指派運算子

運算子

意義

=

將第二個運算元的值儲存在第一個運算元所指定的物件 (簡單指派)。

*=

將第一個運算元的值以第二個運算元的值;將結果儲存在第一個運算元所指定的物件。

/=

將第一個運算元的值以第二個運算元的值分割;將結果儲存在第一個運算元所指定的物件。

%=

將第一個運算元以第二個運算元的值取餘數;將結果儲存在第一個運算元所指定的物件。

+=

將第二個運算元的值加至第一個運算元;將結果儲存在第一個運算元所指定的物件。

–=

將第一個運算元的值減掉第二個運算元的值;將結果儲存在第一個運算元所指定的物件。

<<=

將第一個運算元的值往左移位由第二個運算元的值所指定的數量;將結果儲存在第一個運算元所指定的物件。

>>=

將第一個運算元的值往右移位由第二個運算元的值所指定的數量;將結果儲存在第一個運算元所指定的物件。

&=

取得第一和第二個運算元 AND 位元運算子的結果;將結果儲存在第一個運算元所指定的物件。

^=

取得第一和第二個運算元 exclusinve OR 位元運算子的結果;將結果儲存在第一個運算元所指定的物件。

|=

取得第一和第二個運算元 inclusinve 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;
}

請參閱

參考

具有二元運算子的運算式

C++ 運算子

C++ 運算子、優先順序和順序關聯性

指派運算子的結果

簡單指派 (C++)

複合指派

C 指派運算子