c++ 运算符优先级的中文表格
C++运算符优先级的中文表格:
| 优先级 | 运算符 | 描述 | 结合性 |
|---|---|---|---|
| 1 | a::b | 作用域解析 | 左到右 → |
| 2 | a++、a-- | 后缀递增和递减 | 左到右 → |
type(a) | 函数式类型转换 | ||
a() | 函数调用 | ||
a[] | 下标访问 | ||
a.b、a->b | 成员访问 | ||
| 3 | ++a、--a | 前缀递增和递减 | 右到左 ← |
+a、-a | 一元正负 | ||
!a、~a | 逻辑非、按位非 | ||
(type)a | C风格类型转换 | ||
*a | 解引用 | ||
&a | 取地址 | ||
sizeof | 取大小(注1) | ||
co_await | 协程等待(C++20) | ||
new、new[] | 动态内存分配 | ||
delete、delete[] | 动态内存释放 | ||
| 4 | a.*b、a->*b | 成员指针访问 | 左到右 → |
| 5 | a * b、a / b、a % b | 乘法、除法、取模 | 左到右 → |
| 6 | a + b、a - b | 加法、减法 | |
| 7 | a << b、a >> b | 按位左移、按位右移 | |
| 8 | a <=> b | 三路比较运算符(C++20起) | |
| 9 | a < b、a <= b、a > b、a >= b | 关系运算符(小于、小于等于、大于、大于等于) | |
| 10 | a == b、a != b | 相等运算符(等于、不等于) | |
| 11 | a & b | 按位与 | |
| 12 | a ^ b | 按位异或 | |
| 13 | a | b | 按位或 | |
| 14 | a && b | 逻辑与 | |
| 15 | a || b | 逻辑或 | 右到左 ← |
| 16 | a ? b : c | 三元条件运算符(注2) | |
throw | 抛出异常 | ||
co_yield | 协程返回(C++20) | ||
a = b | 直接赋值(C++类默认提供) | ||
a += b、a -= b | 复合赋值(加减) | ||
a *= b、a /= b、a %= b | 复合赋值(乘、除、取模) | ||
a <<= b、a >>= b | 复合赋值(按位左移、右移) | ||
a &= b、a ^= b、a |= b | 复合赋值(按位与、异或、或) | ||
| 17 | a, b | 逗号运算符 | 左到右 → |
注:
sizeof运算符的优先级与一元运算符相同。- 三元条件运算符的结合性为右到左。
2万+

被折叠的 条评论
为什么被折叠?



