Opérateur OR logique : ||

Syntaxe

logical-or-expression||logical-and-expression

Notes

L’opérateur OR logique (||) retourne la valeur true booléenne si l’un ou les deux opérandes est true et retourne false sinon. Les opérandes sont implicitement convertis en type bool avant l’évaluation, et le résultat est de type bool. L'opérateur OR logique présente une associativité de gauche à droite.

Les opérandes de l’opérateur OR logique n’ont pas besoin d’avoir le même type, mais ils doivent être de type booléen, intégral ou pointeur. Les opérandes sont souvent des expressions relationnelles ou d’égalité.

Le premier opérande doit être complètement évalué et tous les effets secondaires terminés pour que l’évaluation de l’expression OR logique se poursuive.

Le deuxième opérande est évalué uniquement si le premier opérande prend la falsevaleur , car l’évaluation n’est pas nécessaire lorsque l’expression OR logique est true. Il s’agit de l’évaluation de court-circuit .

printf( "%d" , (x == w || x == y || x == z) );

Dans l’exemple ci-dessus, s’il x est égal à w, you z, le deuxième argument à la printf fonction prend truela valeur , qui est ensuite promu en entier, et la valeur 1 est imprimée. Sinon, elle prend la false valeur 0 et la valeur 0 est imprimée. Dès que l’une des conditions est évaluée true, l’évaluation s’arrête.

Mot clé d’opérateur pour||

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

Exemple

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

Voir aussi

Opérateurs intégrés C++, priorité et associativité
Opérateurs logiques C