《C++ primer》英文第五版阅读笔记(十八)——成员运算符和条件运算符

成员运算符

1.成员运算符:(1)"."(2)"->"

2.通过成员运算符可以访问成员。点运算符可以获取到一个类对象的成员。箭头形式是点形式的另一种表示。

例:ptr->mem和(*ptr).mem是一样的。由于解引用运算符的优先级比点运算符的优先级低,所以要将解引用运算符用括号括起来。

3.箭头运算符需要一个指针操作数并且产生的是左值。

点运算符返回左值还是右值取决于它作用的类的成员返回左值还是右值。

如果点运算符作用的类的成员返回左值,则点运算符返回的也是左值;

如果点运算符作用的类的成员返回的是右值,则点运算符返回的也是右值;


条件运算符?:

1.形式: cond ? expr1 : expr2;

cond是一个条件表达式,expr1和expr2有相同的类型,或者可以转换成相同的类型。如果cond为真,则执行expr;否则执行expr2。

2.条件运算符保证了expr1和expr2只能有一个被执行。

3.如果expr1和expr2都是左值或者它们能够转换为一个相同的左值类型时,条件运算符的结果也是左值;否则条件运算符的结果是右值。

4.条件运算符可以进行嵌套。也就是说,一个条件运算符可以被当做另一个条件运算符的条件或者其中的一个或两个表达式。但是通常条件表达式的嵌套不容易让人读懂,使用超过两个或三个的嵌套是不好的方式。

5.条件表达式的优先级很低。如果在一个很大的表达式中使用时,要将条件表达式用小括号括起来。例如在输出条件运算符的值时,要将条件运算符完全括起来。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值