Skip to content

参考图表

运算符优先级表

运算符描述
优先级第1组
:: C++作用域解析运算符
优先级第2组结合性:L-R
(表达式)分组
()函数调用
() C++值构造,即type(expr)
[]数组下标
->间接成员运算符
.直接成员运算符
const_cast C++专用的类型转换
dynamic_cast C++专用的类型转换
reinterpret_cast C++专用的类型转换
static_cast C++专用的类型转换
typeid C++类型标识
++加1运算符,后缀
--减1运算符,后缀
优先级第3组(均为一元运算符)结合性:R-L
!逻辑非
~位非
+一元加号(正号)
-一元减号(负号)
++加1运算符,前缀
--减1运算符,前缀
&地址
*解除引用(间接值)
()类型转换,即(type)expr
sizeof长度,以字节为单位,类型是size_t
new C++动态分配内存
new [] C++动态分配数组
delete C++动态释放内存
delete [] C++动态释放数组
优先级第4组结合性:L-R
.*成员解除引用
->*间接成员解除引用
优先级第5组(均为二元运算符)结合性:L-R
*
/
%模(余数)
优先级第6组(均为二元运算符)结合性:L-R
+
-
优先级第7组结合性:L-R
<<左移
>>右移
优先级第8组结合性:L-R
<小于
<=小于或等于
>=大于或等于
>大于
优先级第9组结合性:L-R
==等于
!=不等于
优先级第10组(二元运算符)结合性:L-R
&按位AND
优先级第11组结合性:L-R
^按位XOR(异或)
优先级第12组结合性:L-R
|按位OR
优先级第13组结合性:L-R
&&逻辑AND
优先级第14组结合性:L-R
||逻辑OR
优先级第15组结合性:R-L
:?条件(唯一的三元运算符)
优先级第16组结合性:R-L
=简单赋值
*=乘并赋值
/=除并赋值
%=求模并赋值
+=加并赋值
-=减并赋值
&=按位AND并赋值
^=按位XOR并赋值
|=按位OR并赋值
<<=左移并赋值
>>=右移并赋值
优先级第17组结合性:L-R
throw C++引发异常
优先级第18组结合性:L-R
,将两个表达式合并成一个