論理 OR 演算子: ||
logical-or-expression || logical-and-expression
解説
一方または両方のオペランドがの場合 true 返しFalse を返します。それ以外の場合は論理 OR 演算子 (||) はブール値を true。オペランドは暗黙的に評価する前に bool を入力するに変換され結果は型 bool です。論理 OR 左から右の結合規則があります。
論理 OR 演算子のオペランドが同じ型である必要はありません。整数型またはポインター型でなければなりません。オペランドは関係または等価式です。
1 番目のオペランドは完全に評価されすべての副作用は論理的な評価を続行する前に完了したか式です。
2 番目のオペランドが 1 番目のオペランドが false に評価された場合にのみ評価されます (0)。これは論理 OR の式が true の場合2 番目のオペランドの不要な評価を削除します。
printf( "%d" , (x == w || x == y || x == z) );
上の例ではx が wyまたは z と等しい場合printf の関数への 2 番目の引数は true に評価され値 1 が出力されます。それ以外の場合は false になり値 0 が出力されます。1 種類の条件が true と評価されるとすぐに評価が完了したとき。
演算子のキーワードの ||
または の演算子は || のテキストと同じです。プログラムの または の演算子の表示方法は 2 種類あります : ヘッダー ファイル iso646.h を含めるか無効 (/Za の言語拡張機能) コンパイラ オプションが使用されます。
使用例
// 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;
}