ショートサーキット演算子というのは「&&」や「||」のことを指します。これらは、左右の被演算子から全体の式の値を決定します。一見すると論理演算子と違いがないかのように見えます。
通常の論理演算子(例えば、「&」や「|」など)の場合は、左右の被演算子の値を評価してから式の値を決定します。そのため、「 a < b & b < c 」は「a < b < c」と等価です。
ショートサーキット演算子の場合は、左の被演算子の値で式の値が決定できるようなら、右の被演算子を評価しません。そのため、「a < b && b < c」は、a < bなら上記と同じ結果ですが、a > bなら「a < b」だけ評価するので、順序関係までは判定されません。
インクリメント演算子などを使用する際には、注意して用いる必要があります。
コメントする