C++中的複合賦值運算子
複合賦值運算子的形式為 e1 op= e2,其中 e1 是一個可修改的左值,其型別不是 const 型別,而 e2 是以下之一:
- 算術型別
- 如果 op 是 + 或 –,則為指標
e1 op= e2 的形式的行為與 e1 = e1 op e2 相同,但 e1 只計算一次。
以下是 C++ 中的複合賦值運算子:
運算子 | 描述 |
---|---|
*= | 將第一個運算元的值乘以第二個運算元的值;將結果儲存在第一個運算元指定的物件中。 |
/= | 將第一個運算元的值除以第二個運算元的值;將結果儲存在第一個運算元指定的物件中。 |
%= | 取第一個運算元模第二個運算元的值;將結果儲存在第一個運算元指定的物件中。 |
+= | 將第二個運算元的值新增到第一個運算元的值中;將結果儲存在第一個運算元指定的物件中。 |
–= | 從第一個運算元的值中減去第二個運算元的值;將結果儲存在第一個運算元指定的物件中。 |
<<= | 將第一個運算元的值左移第二個運算元的值指定的位數;將結果儲存在第一個運算元指定的物件中。 |
>>= | 將第一個運算元的值右移第二個運算元的值指定的位數;將結果儲存在第一個運算元指定的物件中。 |
&= | 獲取第一和第二運算元的按位與;將結果儲存在第一個運算元指定的物件中。 |
^= | 獲取第一和第二運算元的按位異或;將結果儲存在第一個運算元指定的物件中。 |
|= | 獲取第一和第二運算元的按位或;將結果儲存在第一個運算元指定的物件中。 |
示例
讓我們看一個使用其中一些運算子的示例:
#include<iostream> using namespace std; int main() { int a = 3, b = 2; a += b; cout << a << endl; a -= b; cout << a << endl; a *= b; cout << a << endl; a /= b; cout << a << endl; return 0; }
輸出
這將給出以下輸出:
5 3 6 3
請注意,對列舉型別的複合賦值會生成錯誤訊息。如果左運算元是指標型別,則右運算元必須是指標型別,或者必須是計算結果為 0 的常量表達式。如果左運算元是整數型別,則右運算元不能是指標型別。
廣告