C++|运算符优先级
C++中的运算符优先级决定了表达式中运算符的执行顺序。以下是C++中运算符的优先级列表,从高到低排列:
-
后缀运算符
- 成员访问运算符
.
和->
(访问成员) - 下标运算符
[]
(数组下标) - 函数调用运算符
()
(函数调用) - 后置递增运算符
++
(后置递增) - 后置递减运算符
--
(后置递减)
- 成员访问运算符
-
一元运算符
- 一元正号
+
(一元正) - 一元负号
-
(一元负) - 逻辑非运算符
!
(逻辑非) - 按位取反运算符
~
(按位取反) - 前置递增运算符
++
(前置递增) - 前置递减运算符
--
(前置递减) - 类型转换运算符
(type)
(类型转换) sizeof
(获取类型或对象大小)new
(动态内存分配)delete
(释放动态内存)
- 一元正号
-
乘法和除法运算符
- 乘法运算符
*
(乘法) - 除法运算符
/
(除法) - 取模运算符
%
(取模)
- 乘法运算符
-
加法和减法运算符
- 加法运算符
+
(加法) - 减法运算符
-
(减法)
- 加法运算符
-
位移运算符
- 左移运算符
<<
(左移) - 右移运算符
>>
(右移)
- 左移运算符
-
关系运算符
- 小于运算符
<
- 大于运算符
>
- 小于等于运算符
<=
- 大于等于运算符
>=
- 小于运算符
-
相等性运算符
- 等于运算符
==
- 不等于运算符
!=
- 等于运算符
-
按位与运算符
- 按位与运算符
&
- 按位与运算符
-
按位异或运算符
- 按位异或运算符
^
- 按位异或运算符
-
按位或运算符
- 按位或运算符
|
- 按位或运算符
-
逻辑与运算符
- 逻辑与运算符
&&
(逻辑与)
- 逻辑与运算符
-
逻辑或运算符
- 逻辑或运算符
||
(逻辑或)
- 逻辑或运算符
-
条件运算符
- 条件运算符
?:
(三元条件)
- 条件运算符
-
赋值运算符
- 赋值运算符
=
- 复合赋值运算符
+=
-=
*=
/=
%=
<<=
>>=
&=
^=
|=
- 赋值运算符
-
逗号运算符
- 逗号运算符
,
(序列点)
- 逗号运算符
请注意,当表达式中包含多个具有相同优先级的运算符时,它们将从左到右进行计算。另外,括号 ()
可以用来改变运算符的优先级,使得括号内的表达式首先被计算。