Operador lógico de negación: !

Sintaxis

!cast-expression

Comentarios

El operador de negación lógico (!) invierte el significado del operando. El operando debe ser de tipo aritmético o de puntero (o una expresión que se evalúe como un tipo aritmético o de puntero). El operando se convierte implícitamente al tipo bool. El resultado es true si el operando convertido es false; el resultado es false si el operando convertido es true. El resultado es de tipo bool.

Para una expresión e, la expresión unaria !e es equivalente a la expresión (e == 0), excepto si intervienen operadores sobrecargados.

Palabra clave del operador para !

C++ especifica not como una ortografía alternativa para !. En C, la ortografía alternativa se proporciona como una macro en el encabezado <iso646.h>. En C++, la ortografía alternativa es una palabra clave; el uso de <iso646.h> o el equivalente de C++ <ciso646> está en desuso. En Microsoft C++, se requiere la opción del compilador /permissive- o /Za para poder habilitar la ortografía alternativa.

Ejemplo

// 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;
}

Consulte también

Expresiones con operadores unarios
Operadores integrados de C++, precedencia y asociatividad
Operadores aritméticos unarios