C++ 运算优先级

优先级指的是先算谁后算谁,当一个表达式比较复杂的时候,就得按照优先级,一级一级去算。

优先级表

阅读下面的优先级表先要明确这几个概念:

  • 优先级高的先算,优先级低的后算
  • 同优先级的按照结核性分先后
  • 所谓结合性是指先算哪边。大部分都是左结合,就是从左往右算。少部分是右结合,也就是先算右边。
优先级 运算符 名称/功能 结合性
1 :: 作用域解析 左结合
2 a++ a-- () [] . -> 后缀自增、函数调用、属性调用 左结合
3 ++a --a +a -a ! ~ 前缀自增、正负号等、取反、位运算取反 右结合
4 .* ->* 成员指针访问 左结合
5 * / % 乘除模运算 左结合
6 + - 加减运算 左结合
7 << >> 位移运算 左结合
8 < <= > >= 关系比较 左结合
9 == != 相等判断 左结合
10 & 位与运算 左结合
11 ^ 位异或 左结合
12 | 按位或 位或
13 && 逻辑与 左结合
14 || 逻辑或 左结合
15 ?: 三元条件运算符 右结合
16 = += -= 等复合赋值 赋值运算 右结合
17 , 逗号运算符 左结合

我们来看两个优先级运算的例子

image

image

posted @ 2025-05-05 10:54  一亩食堂  阅读(78)  评论(0)    收藏  举报