論理否定演算子:
構文
!cast-expression
解説
論理否定演算子 (!) は、オペランドの意味を反転させます。 オペランドは、数値型またはポインター型 (または、数値型またはポインター型に評価される式) である必要があります。 オペランドは bool 型に暗黙的に変換されます。 変換されたオペランドが true の場合、結果は false となり、変換されたオペランドが false の場合は、結果が true になります。 結果は 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;
}