V + = e不等价于 v = v + e

计算v + = e只会求一次v的值,而计算 v = v + e则会求两次v的值。在后一种情况下,对v的求职可能的副作用会出现两次。在下面的例子中,i值自增一次。

a[i++] += 2;

a[i++] = a[i++] +2

i的值在别处被修改和使用了,因此上述语句的结果是未定义的。i的值可能被修改两次,但我们无法确定结果会发生神马!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章