C++Primer4.6&4.7——成员访问运算符和条件运算符
1、成员访问运算符
①点运算符和箭头运算符都可以访问成员。
(1)点运算符获取类对象的一个成员。
(2)箭头运算符与点运算符有关,表达式ptr->men等价于(*ptr).men;注意:点运算符的优先级高于解引用符的优先级,所以括号不能省略。
②运算对象和运算结果
(1)箭头运算符作用的是一个指针类型的运算对象,结果是一个左值;
(2)点运算符分两种情况;
a、点运算符作用的是左值的运算对象,那么其运算结果就是左值。
b、点运算符作用的是右值的运算对象,那么其运算结果就是右值。
2、条件运算符
①条件运算符(?:),形式:cond?expr1:expr2;
②求值结果:当条件运算符的两个表达式都是左值或者都能转换成同一种左值类型时,运算结果就是左值;否则运算结果就是右值。
③条件运算符满足右结合律。
④允许嵌套条件运算符。