C++Primer4.4&4.5——赋值和递增递减运算符

C++Primer4.4&4.5——赋值和递增递减运算符

1、赋值运算符
(1)赋值运算符的左侧运算对象必须是一个可修改的左值。

(2)赋值运算的结果是它的左侧运算对象且是一个左值,结果的类型也是左侧运算对象的类型。

(3)允许使用花括号括起来的初始值列表作为赋值语句的右侧运算对象。
①若左侧运算对象是内置类型,那么初始值列表最多只能包含一个值,也可以为空。
②若左侧运算对象是类类型,根据类内的定义,那么初始值列表可以包含多个值。

(4)优先级是很低的。

(5)满足右结合律。

(6)复合赋值运算符
+=,-=,*=,/+等复合赋值运算符。

2、递增递减运算符
(1)前置递增递减运算符和后置递增递减运算符。
①前置递增递减运算符:将运算对象加1(或减1),然后将改变后的对象作为求值结果。
②后置递增递减运算符:将运算对象加1(或减1),然后将对象改变之前的值的副本作为求值结果。

(2)两种版本的运算符都作用与左值运算对象。

(3)求值结果:前置版本将对象本身作为左值返回,后置版本将对象原始值的副本作为右值返回。

(4)解引用符和递增运算符的混用
如*ptr++,递增运算符的优先级高于解引用符的优先级。
所以是ptr先加1,后解引用。

猜你喜欢

转载自blog.csdn.net/qq_47466050/article/details/106801377