Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Operator für logisches ODER:
Syntax
logical-or-expression
||
logical-and-expression
Hinweise
Der logische ODER-Operator (||
) gibt den booleschen Wert true
zurück, wenn einer oder beide Operanden true
ist. Ansonsten ist der Wert false
. Die Operanden werden vor der Auswertung implizit in den Typ bool
konvertiert. Das Ergebnis ist ein bool
-Typ. Das logische OR weist eine Assoziativität von links nach rechts auf.
Die Operanden für den logischen ODER-Operator müssen nicht denselben Typ aufweisen, sie müssen jedoch ein boolescher, integraler oder Zeigertyp sein. Die Operanden sind im Allgemeinen relationale oder Gleichheitsausdrücke.
Der erste Operand wird vollständig ausgewertet und alle Nebeneffekte werden abgeschlossen, bevor die Auswertung des logischen OR-Ausdrucks fortgesetzt wird.
Der zweite Operand wird nur ausgewertet, wenn der erste Operand als false
ausgewertet wird, da die Auswertung nicht erforderlich ist, wenn der logische ODER-Ausdruck true
ist. Dies wird als Kurzschlussauswertung bezeichnet.
printf( "%d" , (x == w || x == y || x == z) );
Wenn x
im obigen Beispiel entweder w
, y
oder z
entspricht, wird das zweite Argument der printf
-Funktion als true
ausgewertet, was dann zu einer ganzen Zahl heraufgestuft wird und der Wert 1 gedruckt wird. Andernfalls wird dies mit false
ausgewertet, und der Wert 0 (null) wird ausgegeben. Sobald eine der Bedingungen mit dem Ergebnis true
ausgewertet wird, wird die Auswertung beendet.
Operator-Schlüsselwort für ||
C++ gibt or
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_OR_Operator.cpp
// compile with: /EHsc
// Demonstrate logical OR
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 10, c = 15;
cout << boolalpha
<< "The true expression "
<< "a < b || b > c yields "
<< (a < b || b > c) << endl
<< "The false expression "
<< "a > b || b > c yields "
<< (a > b || b > c) << endl;
}
Siehe auch
Integrierte C++-Operatoren, Rangfolge und Assoziativität
Logische C-Operatoren