利点はありますか/ Java以下で行うのは悪い習慣です
x = x = 5
同僚のコードの1つでそれを見て、なぜ彼が二重割り当てを行うのかと驚きましたか?
これはx = 5
と同じですか、それともx = x= 5
が違いを生むのですか?
利点はありますか/以下を実行するのは悪い習慣ですか
x= x = 5
言語は指定していませんが、ほとんどのC言語のような言語では、割り当ての値が割り当てられる値です。つまり、式x = 5
の値は5
であり、求めている式は基本的に次のものと同じです。
x = 5;
x = 5;
追加の割り当てには価値がないため、それを行う理由はありません。
さて、次のように、2つの(またはそれ以上の)変数が同時にいくつかの値に割り当てられることがあります。
x = y = 5;
この場合、y
に5を割り当て、その式の値(ここでも5)をx
に割り当てます。これにより、x
とy
の両方が同じ値を取得することが保証されます。
別の可能性としては、割り当ての1つが比較対象であり、結果が比較対象の変数に割り当てられていた可能性があります。
x = x == 5;
これは二重代入ではなく、ブール式x == 5
からx
への代入です。つまり、式の前のx
の値が5である場合、x
はtrue
(一部のゼロ以外の整数)の値を取得します。 x
が5でない場合、x
はfalse
(つまり0)に設定されます。