I saw the following code: a += b += c
- please, does anyone know what does it mean?
a = a + b
b = b + c
or:
b = b + c
a = a + b
I saw the following code: a += b += c
- please, does anyone know what does it mean?
a = a + b
b = b + c
or:
b = b + c
a = a + b
+=
演算子の結合性に依存します。通常は右から左なので、2番目の答えです: 。のa+=b
後に評価されb+=c
ます。
次のようにのみ評価できます。
a += (b += c)
このように評価される場合:
(a += b) += c
次に、数値に評価さa += b
れ、変数ではなく数値を変更しようとしますが、これは不可能です。
ほとんどの高級言語では、このような式+=
は右から左に結合しているため、左から右に評価されます。この場合、の値がの値にc
加算されb
、次にb
(による加算後のc
)の値がに加算されa
ます。
これは、2番目のブロックに相当します。