C++ 运算符的优先级
优先级
名称
运算符
可重载性
所需变量个数
结合性
1
作用域运算符
::
否
自左向右
2
成员访问运算符
.
否
双目运算符
自左向右
指向成员运算符
->
下标运算符
[ ]
括号 / 函数运算符
()
3
自增运算符
++
单目运算符
自右向左
自减运算符
–
按位取反运算符
~
逻辑非运算符
!
正号
负号
取地址运算符
&
地址访问运算符
强制类型转换运算符
(Type)
类型长度运算符
sizeof()
否
内存分配运算符
new
取消分配内存运算符
delete
类型转换运算符
castname_cast
否
4
成员指针运算符
.*
否
双目运算符
自左向右
->*
5
乘号
双目运算符
自左向右
除号
/
取余运算符
%
6
加号
双目运算符
自左向右
减号
7
位左移运算符
双目运算符
自左向右
位右移运算符
8
小于号
<
双目运算符
自左向右
小于等于号
<=
大于号
大于等于号
=
9
等于号(判等运算符)
==
双目运算符
自左向右
不等于号
!=
10
按位与
&
双目运算符
自左向右
11
按位异或
^
双目运算符
自左向右
12
按位或
|
双目运算符
自左向右
13
逻辑且
&&
双目运算符
自左向右
14
逻辑或
||
双目运算符
自左向右
15
条件运算符
? :
否
三目运算符
自右向左
16
赋值运算符
=
双目运算符
自右向左
复合赋值运算符
+=
-=
*=
/=
%=
=
&=
|=
^=
17
抛出异常运算符
throw
否
自左向右
18
逗号运算符
,