7.C++中三目运算符的升级
本文参考自狄泰软件学院:《C++深度剖析》课程
C语言中的三目运算符
C语言中的三目运算符返回的是变量的值。所以只能作为右值使用,而不能作为左值使用。
那么,C++对三目运算符做了怎样的升级呢?
C++中的三目运算符
- C++中的三目运算符可直接返回变量本身。既可以作为右值使用,又可以作为左值使用
a) 当三目运算符返回是变量时,返回的是变量的引用
b) 当三目运算符返回中有常量时,返回的是值
int a = 1;
int b = 2;
( a<b ? a:b ) = 3; //正确,返回a或b的引用,可作为左值
( a<b ? 1:b ) = 4; //错误,返回1或b的值,不能作为左值