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

更新於: 2020-02-11

268 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.