🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 逻辑和关系运算符优先级 + 逻辑非 ->大于/小于/大于等于/小于等于 -> 相等/不相等 ->逻辑与 -> 逻辑或 ## 一.逻辑运算符 >[warning]符号中间不要加空格 | 结合性 | 目数 | 运算符 | 功能 | 用法 | 可重载 | | ------ | ---- | ------ | ------ | ---------------- | ------ | | 右 | 单目 | ! | 逻辑非 | !expr1 | √ | | 左 | 双目 | && | 逻辑与 | expr1 && expr2 | √ | | 左 | 双目 | \|\| | 逻辑或 | expr1 \|\| expr2 | √ | 1. 逻辑与和逻辑或具有 **短路特性**。 + **逻辑与** 当且仅当 `exp1` 为 `true` 时,才计算 `exp2`的值。 + **逻辑或** 当且仅当 `exp1` 为 `false` 时,才计算 `exp2`的值。 + **应用** 确保右侧运算对象的运算过程的安全性。 ```c++ //假设定义了一个字符串对象s index < s.size() && s[index] != 'c'; ``` > 只有 `index` 未超出范围,`s[index]` 才能安全访问。 ## 二.关系运算符 >关系运算符的求值结果为布尔值,当它们放到一起会产生意想不到的结果 > `3>2>1` 结果为 `false` | 结合性 | 目数 | 运算符 | 功能 | 用法 | 可重载 | | ------ | ---- | ------ | ------ | ---------------- | ------ | | 左 | 双目 | < | 小于 | expr1 < expr2 | √ | | 左 | 双目 | <= | 小于等于 | expr1 <= expr2 | √ | | 左 | 双目 | > | 大于 | expr1 <= expr2 | √ | | 左 | 双目 | >= | 大于等于 | expr1 >= expr2 | √ | | 左 | 双目 | == | 等于 | expr1 == expr2 | √ | | 左 | 双目 | != | 不等于 | expr1 != expr2 | √ |