带操作的赋值表达式为:
a op= b
这里op代表一个运算符,这个表达式等价于:
a = a op b
这里需要特别注意:在第一个表达式中,表达式a计算了一次,而在第二个表达式中,表达式a计算了两次。所以,只有在a没有副作用的情况下,这两个表达式才是等价的。
不等价的例子:
arr[i++] *= 2;
arr[i++] = arr[i++] * 2;
标签:strong 赋值 例子 block 而在 lock gpo 作用 等价
带操作的赋值表达式为:
a op= b
这里op代表一个运算符,这个表达式等价于:
a = a op b
这里需要特别注意:在第一个表达式中,表达式a计算了一次,而在第二个表达式中,表达式a计算了两次。所以,只有在a没有副作用的情况下,这两个表达式才是等价的。
不等价的例子:
arr[i++] *= 2;
arr[i++] = arr[i++] * 2;
标签:strong 赋值 例子 block 而在 lock gpo 作用 等价
原文地址:https://www.cnblogs.com/lishidefengchen/p/8414253.html