邏輯否定運算子:!

語法

!cast-expression

備註

邏輯負運算子 (!) 會反轉其運算元的意義。 運算元必須是算術或指標類型 (或判斷值為算術或指標類型的運算式)。 運算元會隱含轉換成 bool 類型。 如果轉換的運算元為 false,則結果為 true,如果轉換的運算元為 true,則結果為 false。 其結果會是 bool 類型。

對於運算式 e,一元運算式 !e 等同於運算式 (e == 0),不同的是其中會包含多載的運算子。

! 的運算子關鍵字

C++ 會指定 not 作為 ! 的替代拼字。 在 C 中,替代拼字會以 <iso646.h> 標頭中的巨集形式提供。 在 C++ 中,替代拼字是關鍵字;<iso646.h> 或 C++ 對等 <ciso646> 的使用已被取代。 在 Microsoft C++ 中,需要 /permissive-/Za 編譯器選項才能啟用替代拼字。

範例

// expre_Logical_NOT_Operator.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

int main() {
    int i = 0;
    if (!i)
        cout << "i is zero" << endl;
}

另請參閱

具有一元運算子的運算式
C++ 內建運算子、優先順序和關聯性
一元算術運算子