C++ 运算符优先级顺序表 (最新 / 完整)
注:
- 运算符优先级不受运算符重载影响。
- 如需钻研 C++ 运算符优先级,可以参考 cppreference ,其提供了详细的注解。
Post author 作者: Grey
Copyright Notice 版权说明: Except where otherwise noted, all content of this blog is licensed under a CC BY-NC-SA 4.0 International license. 除非另有说明,本博客上的所有文章均受 知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议 保护。
优先级 | 运算符 | 结合律 | 助记 |
---|---|---|---|
1 | :: |
从左至右 | 作用域 |
2 | a++ 、a-- 、type() 、type{} 、a() 、a[] 、. 、-> |
从左至右 | 后缀自增减、 函数风格转型、 函数调用、下标、 成员访问 |
3 | ! 、~ 、++a 、--a 、+a 、-a 、(type) 、sizeof 、&a 、*a 、new 、 new[] 、delete 、 delete[] |
从右至左 | 逻辑非、按位非、 前缀自增减、正负、 C 风格转型、取大小、取址、 指针访问、 动态内存分配 |
4 | .* 、->* |
从左至右 | 指向成员指针 |
5 | a*b 、a/b 、a%b |
从左至右 | 乘除、取模 |
6 | a+b 、a-b |
从左至右 | 加减 |
7 | << 、>> |
从左至右 | 按位左右移 |
8 | < 、<= 、> 、>= |
从左至右 | 大小比较 |
9 | == 、!= |
从左至右 | 等价比较 |
10 | a&b |
从左至右 | 按位与 |
11 | ^ |
从左至右 | 按位异或 |
12 | | |
从左至右 | 按位或 |
13 | && |
从左至右 | 逻辑与 |
14 | || |
从左至右 | 逻辑或 |
15 | a?b:c 、= 、+= 、-= 、*= 、/= 、%= 、&= 、^= 、|= 、<<= 、>>= |
从右至左 | 三元条件、 赋值 |
16 | , |
从左至右 | 逗号 |