逻辑非运算符:!

语法

!强制转换表达式

备注

逻辑非运算符 (!) 反转其操作数的含义。 操作数必须是算法或指针类型(或计算结果为算法或指针类型的表达式)。 操作数将隐式转换为类型 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++ 内置运算符、优先级和关联性
一元算术运算符