| 优先级 | 运算符 | 结合律 | 助记 |
|---|---|---|---|
| 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
,其提供了详细的注解。