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