C++11 运算符的优先级分组和结合性

本文汇总了 C++11 中的运算符的含义、优先级分组及其结合性。

如果两个运算符用于同一个操作数,首先应用优先极高的。如果两个运算符优先级相同,按结合性规则决定应用那个运算符。同一组中的运算符优先级和结合性相同,无论先左后右(L-R),还是先右后左(R-L)。

运算符 含义 优先级分组 结合性
:: 作用域解析 1 L-R
(表达式) 分组运算 2 L-R
() 函数调用
() 值构造,如 int('c')
[] 数组下标
-> 间接成员访问
. 直接成员访问
const_cast 类型转换
dynamic_cast 类型转换
reinterpret_cast 类型转换
static_cast 类型转换
typeid 类型标识
++ 后缀自加,如 i++
-- 后缀自减,如 i--
! 逻辑非 3 R-L
~ 位非
+ 正号
- 负号
++ 前缀自加,如 ++i
-- 前缀自减,如 --i
& 地址
* 解引用
() 类型转换,如 (int)'c'
sizeof 字节长度
new 动态分配内存
new [] 动态分配数组
delete 动态释放内存
delete [] 动态释放数组
.* 直接成员解引用 4 L-R
->* 间接成员解引用
* 5 L-R
/
%
+ 6 L-R
-
<< 左移 7 L-R
>> 右移
< 小于 8 L-R
<= 小于等于
>= 大于等于
> 大于
== 等于 9 L-R
!= 不等于
& 按位与 10 L-R
^ 按位异或 11 L-R
| 按位或 12 L-R
&& 逻辑与 13 L-R
|| 逻辑或 14 L-R
?: 条件 15 R-L
= 简单赋值 16 R-L
*= 乘并赋值
/= 除并赋值
%= 模并赋值
+= 加并赋值
-= 减并赋值
&= 按位与并赋值
^= 按位异或并赋值
|= 按位或并赋值
<<= 左移并赋值
>>= 右移并赋值
throw 引发异常 17 L-R
, 合并两个表达式 18 L-R
posted @ 2024-06-11 11:34  green-cnblogs  阅读(71)  评论(0编辑  收藏  举报