Opérateur de négation logique : !

Syntaxe

!cast-expression

Notes

L’opérateur de négation logique (!) inverse la signification de son opérande. L’opérande doit être de type arithmétique ou pointeur (ou une expression qui a pour valeur le type arithmétique ou pointeur). L’opérande est implicitement converti en type bool. Le résultat est true si l’opérande converti est false. Le résultat est false si l’opérande converti est true. Le résultat est de type bool.

Pour une expression e, l'expression unaire !e équivaut à l'expression (e == 0), sauf si des opérateurs surchargés sont impliqués.

Mot clé d'opérateur pour !

C++ spécifie not comme autre orthographe de !. En C, l’orthographe alternative est fournie en tant que macro dans l’en-tête <iso646.h>. En C++, l’orthographe alternative est un mot clé. L’utilisation de <iso646.h> ou de l’équivalent C++ <ciso646> est déconseillée. Dans Microsoft C++, l’option de compilateur /permissive- ou /Za est nécessaire pour activer l’orthographe alternative.

Exemple

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

Voir aussi

Expressions avec des opérateurs unaires
Opérateurs intégrés, priorité et associativité C++
Opérateurs arithmétiques unaires