C++ 中的一元運算子
一元運算子是作用於單個運算元以產生新值的運算子。一元運算子如下所示:
- 間接運算子 (*) - 它作用於指標變數,並返回與指標地址處的值等效的左值。這稱為“解除引用”指標。
- 取地址運算子 (&) - 一元取地址運算子 (&) 獲取其運算元的地址。取地址運算子的運算元可以是函式指示符,也可以是指定不是位欄位且未宣告為 register 儲存類說明符的物件的左值。
- 一元加運算子 (+) - 一元加運算子 (+) 的結果是其運算元的值。一元加運算子的運算元必須是算術型別。
- 一元負運算子 (-) - -(一元負)運算子對運算元的值取反。運算元可以具有任何算術型別。結果不是左值。
- 邏輯非運算子 (!) - 邏輯非運算子 (!) 反轉其運算元的含義。運算元必須是算術或指標型別(或計算結果為算術或指標型別的表示式)。運算元隱式轉換為 bool 型別。
- 按位取反運算子 (~) - 按位取反運算子,有時稱為“按位補碼”或“按位非”運算子,產生其運算元的按位補碼。運算元必須是整型。
- 字首遞增運算子 (++) - 字首遞增運算子 (++) 將其運算元加 1;此遞增值是表示式的結果。運算元必須是型別不為 const 的左值。結果是與運算元型別相同的左值。
- 字首遞減運算子 (--) - 字首遞減運算子 (--) 將其運算元減 1;此遞減值是表示式的結果。運算元必須是型別不為 const 的左值。結果是與運算元型別相同的左值。
- 強制轉換運算子 () - 型別強制轉換提供了一種在特定情況下顯式轉換物件型別的方法。在進行型別強制轉換後,編譯器將強制轉換表示式視為 type-name 型別。
- sizeof 運算子 - 它是一個編譯時一元運算子,可用於計算其運算元的大小。
- new 運算子 - 它是一個記憶體分配運算子,用於動態分配記憶體。
- delete 運算子 - 它是一個記憶體分配運算子,用於釋放動態分配的記憶體。
這些運算子具有右結合性。一元表示式通常涉及在後綴或主表示式之前出現的語法。
示例
讓我們看一下 -(減號) 和 casting() 一元運算子的示例。
#include<iostream>
using namespace std;
int main() {
int x;
float y = 1.23;
x = (int) y;
x = -x;
cout << x;
return 0;
}輸出
這將輸出:
-1
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP