关系运算符
关系(比较)表达式用于求出两个值之间的大小关系。C++ 中规定了 7 个关系(比较)运算符,我们需要学习的有这 6 个:
运算符 | 名称 | 作用 |
---|---|---|
a > b | 大于运算符 | 左侧数是否大于右侧数 |
a >= b | 大于等于运算符 | 左侧数是否大于等于右侧数 |
a < b | 小于运算符 | 左侧数是否小于右侧数 |
a <= b | 小于等于运算符 | 左侧数是否小于等于右侧数 |
a == b | 等于运算符 | 左侧数是否等于右侧数 |
a != b | 不等于运算符 | 左侧数是否不等于右侧数 |
除此之外的第七个关系运算符
<=>
叫做三路比较运算符(Three-way comparison operator),又称宇宙飞船运算符(Spaceship Operator),在面向对象编程里比较有用。
可以看到这些运算符都是非常直观易于理解的。不过在写法上,还是需要注意等于运算符的写法是两个等号,因为一个等号是赋值运算符。
再来看一看关系表达式的写法:
左侧操作数 关系运算符 右侧操作数
比如
1 > 4;
3 != 5;
2 == 2;
等等。由于关系运算符的作用都是判断“是否”的,因此很直观地可以理解,关系表达式的返回值是一个布尔型变量,指示这个关系是否成立。比如上述三个表达式的值分别为 false
, true
和 true
。
优先级和结合方向
关系运算符的优先级并不完全相同,其中大(小)于和大(小)于等于运算符的优先级较高,而等于和不等于运算符的优先级较低。
关系运算符的结合方向与算术运算符相同,为从左向右。
整体来看,我们学过的运算符中关系运算符处于算术运算符和赋值运算符中间。遇到看不清楚优先级的表达式,你可以参照书后的附录,在此不再赘述。