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 的常量表達式。如果左運算元是整數型別,則右運算元不能是指標型別。
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP