[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.9 三項演算子のオペランドの省略

三項演算子の式で、二番目のオペランドを省略することができる。 省略した場合は、最初のオペランドの値が 0 でなければその値が 式の値となる。

つまり、以下のような場合、

 
x ? : y

式の値は、x の値が 0 でなければその値となり、x が 0 なら y の値となる。

これは以下の式と全く等価である。

 
x ? x : y

上記のような簡単なケースでは、二番目のオペランドを省略できる有り難みが 良くわからないかもしれない。これが役に立つのは、最初のオペランドが 副作用が持っているか、副作用を持つ可能性がある (マクロの引数の場合)時である。 その場合、中間項でそのオペランドを繰り返し使うと、副作用が二回実行される。 中間項のオペランドを省略すると、既に計算済みの値を使い、再計算による 望ましくない作用を伴わない。


This document was generated using texi2html 1.78.