C と C の条件演算子
C の条件演算子 (?) は、特に C の条件演算子と微妙な違いを示します。
左辺値を返す
C では、条件演算子は左辺値を返すことができます。左辺値は、代入できる変数または式です。 。これにより、次のような操作が可能になります。
<code class="c++">(true ? a : b) = 1;</code>
この例では、条件 true が true の場合、変数 a には値 1 が割り当てられます。
対照的に、C では左辺値に次のような操作が許可されません。条件演算子によって返されます。同様の効果を実現するには、 if/else ステートメントを使用するか、参照を直接操作する必要があります。
<code class="c">*(true ? &a : &b) = 1;</code>
演算子の優先順位
さらに、 C の条件演算子には次の値があります。代入演算子 (=) が優先され、右から左にグループ化されます。これは、
<code class="c++">true ? a = 1 : b = 2;</code>
のようなコードが有効であることを意味します。ただし、C では、最後の式を括弧で囲んでいないと、
<code class="c">true ? a = 1 : (b = 2);</code>
エラーが発生します。
以上が条件演算子関数は C と C でどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。