C++运算符优先级表[中文版]
C++运算符优先级表
|
优先级 |
运算符 |
说明 |
结合性 |
|
1 |
:: |
范围解析 |
自左向右 |
|
2 |
++ -- |
后缀自增/后缀自减 |
|
() |
括号 |
|
[] |
数组下标 |
|
. |
成员选择(对象) |
|
−> |
成员选择(指针) |
|
3 |
++ -- |
前缀自增/前缀自减 |
自右向左 |
|
+ − |
加/减 |
|
! ~ |
逻辑非/按位取反 |
|
(type) |
强制类型转换 |
|
* |
取指针指向的值 |
|
& |
某某的地址 |
|
sizeof |
某某的大小 |
|
new, new[] |
动态内存分配/动态数组内存分配 |
|
delete, delete[] |
动态内存释放/动态数组内存释放 |
|
4 |
.* ->* |
成员对象选择/成员指针选择 |
自左向右 |
|
5 |
* / % |
乘法/除法/取余 |
|
6 |
+ − |
加号/减号 |
|
7 |
<< >> |
位左移/位右移 |
|
8 |
< <= |
小于/小于等于 |
|
> >= |
大于/大于等于 |
|
9 |
== != |
等于/不等于 |
|
10 |
& |
按位与 |
|
11 |
^ |
按位异或 |
|
12 |
| |
按位或 |
|
13 |
&& |
与运算 |
|
14 |
|| |
或运算 |
|
15 |
?: |
三目运算符 |
自右向左 |
|
16 |
= |
赋值 |
|
+= −= |
相加后赋值/相减后赋值 |
|
*= /= %= |
相乘后赋值/相除后赋值/取余后赋值 |
|
<<= >>= |
位左移赋值/位右移赋值 |
|
&= ^= |= |
位与运算后赋值/位异或运算后赋值/位或运算后赋值 |
|
17 |
throw |
抛出异常 |
|
18 |
, |
逗号 |
自左向右 |