当前位置首页 > 百科资料> 正文

复合赋值运算符

2022-07-01 21:06:07 百科资料

  在赋值运算符当中,有一类C/C++独有的复合赋值运算符。它们实际上是一种缩写形式,使得对变量的改变更为简洁。

  Total=Total+3;

  它的意思是本身的值加3,然后在赋值给本身。为了简化,上面的代码也可以写成:

  Total+=3;

  同样,x*=y+7 等价于x=x*(y+7) r%=p 等价于r=r%p

  复合赋值运算符有下列这些:

  符号 功能

  += 加法赋值

  -= 减法赋值

  *= 乘法赋值

  /= 除法赋值

  %= 模运算赋值

  <<= 左移赋值

  >>= 右移赋值

  &= 位逻辑与赋值

  |= 位逻辑或赋值

  ^= 位逻辑异或赋值

  那么看了上面的复合赋值运算符,有人就会问,到底Total=Total+3;与Total+=3;有没有区别?答案是有的,对于A=A+1,表达式A被计算了两次,对于复合运算符A+=1,表达式A仅计算了一次。一般的来说,这种区别对于程序的运行没有多大影响,但是当表达式作为函数的返回值时,函数就被调用了两次(以后再说明),而且如果使用普通的赋值

  运算符,也会加大程序的开销,使效率降低。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net