論理 OR ||

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

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

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

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

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

結果
1 || 0 true または 1
1 || 4 true または 1
0 || 0 false または 0

次の例では、論理 OR 演算子を使用して 、y を条件付きで増分します。

++x || ++y;

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

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


1 || 41 (または true) になります。
一方、
1 | 45 になります。

関連参照

IBM Copyright 2003