Logical negation operator: !
Syntax
!
cast-expression
Remarks
The logical negation operator (!
) reverses the meaning of its operand. The operand must be of arithmetic or pointer type (or an expression that evaluates to arithmetic or pointer type). The operand is implicitly converted to type bool
. The result is true
if the converted operand is false
; the result is false
if the converted operand is true
. The result is of type bool
.
For an expression e
, the unary expression !e
is equivalent to the expression (e == 0)
, except where overloaded operators are involved.
Operator keyword for !
C++ specifies not
as an alternative spelling for !
. In C, the alternative spelling is provided as a macro in the <iso646.h> header. In C++, the alternative spelling is a keyword; use of <iso646.h> or the C++ equivalent <ciso646> is deprecated. In Microsoft C++, the /permissive-
or /Za
compiler option is required to enable the alternative spelling.
Example
// 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;
}
See also
Expressions with unary operators
C++ built-in operators, precedence, and associativity
Unary arithmetic operators
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle