上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.11 赋值运算符和赋值表达式
1. 赋值运算符
C++中的赋值运算符就是“=”,二元运算符,运算的结合性是自右向左,它的作用是将一个数据赋给一个变量。
2. 复合赋值运算符
在赋值运算符“=”之前加上其他运算符就可以构成复合赋值运算符,包括:+=、−=、*=、/=、%=、<<=、>>=、&=、^=、|=。其中,前5个是由算术运算符和赋值运算符复合而成的,后5个是位运算符和赋值运算符复合而成的。这10种复合赋值运算符都是二元运算符,与“=”的优先级相同,运算的结合性也是自右向左。
3. 赋值表达式
由赋值运算符(包括复合赋值运算符)将一个变量和一个表达式连接起来的式子称为赋值表达式,它的一般形式为:
<变量> <赋值运算符> <表达式>
对赋值表达式求解的过程是:先求赋值运算符右侧的“表达式”的值,然后赋给赋值运算符左侧的变量。例如:
a=10 //赋值表达式的值为10,a的值为10
a=b=c=10 //赋值表达式的值为10,a、b、c的值均为10
a=10+(c=5) //赋值表达式的值为15,a的值为15,c的值为5
a+=8 //等价于:a=a+8
a*=c+2 //等价于:a=a*(c+2)
a+=a −=a*a //等价于:a=a+(a=a −a*a)