論理 OR 演算子 ||

|| (論理 OR) 演算子は、いずれかのオペランドが真であるかどうかを示します。

C のみ オペランドのいずれかにゼロ以外の値がある場合は、結果の値は 1 になります。そうでない場合は、結果の値は 0 になります。その結果の型は int です。オペランドは両方とも、算術型またはポインター型でなければなりません。 各オペランドには、通常の算術変換が 実行されます。

C++ いずれかのオペランドの値が true である場合は、その結果の値は、true になります。そうでない場合は、結果の値はfalsになります。 両オペランドは、暗黙的に bool へ変換されます。結果型は bool です。

| (ビット単位包含 OR) 演算子と異なり、|| 演算子では、 オペランドは必ず左から右に評価されます。左方オペランドがゼロ以外の値 (または) である場合は、 右方オペランドは評価されません。

次の例では、論理 OR 演算子を含む式が 評価される方法を示します。

結果
1 || 0 true または 1
1 || 4 true または 1
0 || 0 false または 0
次の例では、論理 OR 演算子を使用して 、y を条件付きで増分します。
++x || ++y;

++x が、ゼロ以外 (または) の値になる場合、 式 ++y は、評価されません。

注: 論理 OR 演算子 (||) を、 ビット単位 OR 演算子 (|) と混同しないでください。次に例を示します。

   1 || 4 は評価の結果 1 (または) になります。
一方、
   1 | 4 は評価の結果 5 になります。