2.4.4 关系运算
关系运算,就是比较运算,C++提供了6种比较运算,如表2.7所示。
从优先级上来说,“==”和“!=”两种运算符的优先级比其他关系运算符的优先级低。和算术运算符一样,关系运算要求两个操作数为数字,可用于整型、浮点型和字符型。但不可用于比较两个字符串常量,因为实际上比的是两个字符串在内存中的地址。
如果比较结果成立,如“1<2”,返回bool型常量true,否则返回bool型常量false。
关系运算符比算术运算符的优先级低,这说明
x+5>y-7 等价于 (x+5)>(y-7)而不是 x+(5>y)-7
或许有的读者会对“x+(5>y)-7”这个表达式感兴趣,不管“5>y”是true还是false,后面减7又是怎么回事呢?实际上这也属于类型转换的范畴,在进行C++算术运算时,true值会自动转换为1,而false则自动转换为0,详细的介绍同样可参考稍后的类型转换专题。
注意
不要混淆了“==”和“=”,前者用于比较两个操作数是否相等,后者用于赋值。