Operator logiczny OR: ||
logical-or-expression || logical-and-expression
Uwagi
Logiczny operator OR (||) zwraca wartość logiczną true Jeśli jeden lub oba argumenty są true i zwraca false w przeciwnym przypadku.Argumenty są niejawnie konwertowane na typ bool przed ich oceną, a wynik jest typu bool.Logiczny OR ma zespolenie od lewej do prawej.
Argumenty operatora logicznego OR nie muszą być tego samego typu, ale muszą być typu całkowitego lub wskaźnikiem.Argumenty są powszechnie wyrażeniami relacyjnymi lub równościowymi.
Pierwszy argument jest całkowicie oceniany a wszystkie efekty uboczne kończą się przed kontynuowaniem oceny wyrażenia logicznego OR.
Drugi argument jest oceniany tylko wtedy jeśli pierwszy argument da w wyniku false (0).Takie zachowanie eliminuje niepotrzebną ocenę drugiego argumentu, gdy wartość wyrażenia logicznego OR to true.
printf( "%d" , (x == w || x == y || x == z) );
W powyższym przykładzie, jeśli x jest równe w, y, lub z, drugi argument funkcji printf ma wartość true i drukowana jest wartość 1.W przeciwnym wypadku daje wynik false i drukowana jest wartość 0.Tak szybko, jak jeden z warunków jest spełniony, ocenianie zostaje zatrzymane.
Słowo kluczowe operatora ||
Operator or to tekstowy odpowiednik ||.Istnieją dwa sposoby na dostęp do operatora or w programach: dołączenie pliku nagłówka iso646.h lub kompilowanie z opcją kompilatora /Za (wyłącz rozszerzenia języka).
Przykład
// 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;
}