Logischer Negationsoperator: !

Syntax

!cast-expression

Hinweise

Der logische Negationsoperator (!) kehrt die Bedeutung des Operanden um. Der Operand muss ein arithmetischer Typ oder Zeigertyp sein (oder ein Ausdruck, der dem arithmetischen Typ oder dem Zeigertyp gleicht). Der Operand wird implizit in den Typ bool konvertiert. Das Ergebnis ist true, wenn der konvertierte Operand false ist; das Ergebnis ist false, wenn der konvertierte Operand true ist. Das Ergebnis ist vom Typ bool.

Für den Ausdruck e entspricht der unäre Ausdruck !e dem Ausdruck (e == 0), außer wenn überladene Operatoren beteiligt sind.

Operator-Schlüsselwort für !

C++ gibt not als alternative Schreibweise für ! an. In C wird die alternative Schreibweise als Makro im Header <iso646.h> bereitgestellt. In C++ ist die alternative Schreibweise ein Schlüsselwort; die Verwendung von <iso646.h> oder das C++-Äquivalent <ciso646> ist veraltet. In Microsoft C++ ist die Compileroption /permissive- oder /Za erforderlich, um die alternative Schreibweise zu aktivieren.

Beispiel

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

Siehe auch

Ausdrücke mit unären Operatoren
In C++ integrierte Operatoren, Rangfolge und Assoziativität
Unäre arithmetische Operatoren