首页 > 技术文章 > C++运算符优先级

pluse 2018-08-07 14:29 原文

 

优先级 操作符 描述 结合性
1 :: 作用域解析 从左到右
2

++  --

( )

[ ]

.

−>

后缀自增、自减

函数调用

数组下标

通过引用选择成员

通过指针选择成员

3

++  --

+  −

!  ~  (type)

*  &

sizeof  new  new[ ]

delete  delete[ ]

前缀自增、自减

正、负

逻辑非、按位非、显式类型转换

解引用 取地址

取对象大小 动态内存分配

动态内存去分配

从右到左
4 .*  ->* 成员指针运算符 从左到右
5 *  /  % 乘、除、求余
6 +  − 加、减
7 <<  >> 按位左移、按位右移
8 <  <=
>  >=
小于、小于或等于
大于、大于或等于
9 ==  != 等于、不等于
10 & 按位与
11 ^ 按位异或
12 | 按位或
13 && 逻辑与
14 || 逻辑或
15

? :

=

+=  −=

*=  /=  %=

<<=  >>=

&=  ^=  |=

throw

三目运算符

赋值

加法/减法赋值运算符

乘法/除法/取余赋值运算符

按位左移/右移赋值运算符

按位与/异或/或赋值运算符

抛出异常

从右到左
17 逗号 从左到右
       

推荐阅读