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番目のブロックに相当します。