优先级 | 操作符 | 描述 | 结合性 |
1 | :: | 作用域解析 | 从左到右 |
2 |
++ -- ( ) [ ] . −> |
||
3 |
++ -- + − ! ~ (type) * & sizeof new new[ ] delete delete[ ] |
前缀自增、自减 正、负 逻辑非、按位非、显式类型转换 解引用 取地址 取对象大小 动态内存分配 动态内存去分配 |
从右到左 |
4 | .* ->* | 成员指针运算符 | 从左到右 |
5 | * / % | 乘、除、求余 | |
6 | + − | 加、减 | |
7 | << >> | 按位左移、按位右移 | |
8 | < <= > >= |
小于、小于或等于 大于、大于或等于 |
|
9 | == != | 等于、不等于 | |
10 | & | 按位与 | |
11 | ^ | 按位异或 | |
12 | | | 按位或 | |
13 | && | 逻辑与 | |
14 | || | 逻辑或 | |
15 |
? : = += −= *= /= %= <<= >>= &= ^= |= throw |
三目运算符 赋值 加法/减法赋值运算符 乘法/除法/取余赋值运算符 按位左移/右移赋值运算符 按位与/异或/或赋值运算符 抛出异常 |
从右到左 |
17 | , | 逗号 | 从左到右 |