| 优先级 | 运算符 | 结合律 | 助记 |
|---|---|---|---|
| 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 | , |
从左至右 | 逗号 |
注:
- 运算符优先级不受运算符重载影响。
- 如需钻研 C++ 运算符优先级,可以参考 cppreference
,其提供了详细的注解。
