运算符优先级表

文章目录
  1. 1. C++ 运算符优先级

C++ 运算符优先级

结合律 运算符 功能 用法
:: 全局作用域 ::name
:: 类作用域 class::name
:: 命名空间作用域 namespace::name
. 成员选择 object.member
-> 成员选择 pointer->member
[] 下标 expr[expr]
() 函数调用 name(expr_lit)
() 类型构造 type(expr_lit)
++ 后置递增运算 lvalue++
后置递减运算 lvalue–
typeid 类型ID typeid(type)
typeid 运行时类型ID typeid(expr)
explicit cast 类型转换 cast_name(expr)
++ 前置递增运算 ++lvalue
前置递减运算 –lvalue
~ 位求反 ~expr
! 逻辑非 !expr
- 一元负号 -expr
+ 一元正号 +expr
* 解引用 *expr
& 取地址 &lvalue
() 类型转换 (type)expr
sizeof 对象大小 sizeof expr
sizeof 类型大小 sizeof(type)
Sizeof… 参数包的大小 sizeof…(name)
new 创建对象 new type
new [] 创建数组 new type[size]
delete 释放对象 delete expr
delete [] 释放数组 delete [] expr
noexcept 能否抛出异常 noexcept(expr)
->* 指向成员选择的指针 ptr->*prt_to_member
.* 指向成员选择的指针 obj.*prt_to_member
* 乘法 expr*expr
/ 除法 expr/expr
% 取模(取余) expr%expr
+ 加法 expr + expr
- 减法 expr -expr
<< 向左移位 expr << expr
>> 向右移位 expr >> expr
< 小于 expr < expr
<= 小于等于 expr <=expr
> 大于 expr > expr
>= 大于等于 expr >= expr
== 相等 expr == expr
!= 不相等 expr != expr
& 位与 expr & expr
^ 位异或 expr ^ expr
` ` 位或 `expr expr`
&& 逻辑与 expr && expr
` ` 逻辑或 `expr expr`
?: 条件 expr?expr:expr
= 赋值 lvalue = expr
*=,/-,%= 符合赋值 lvalue+=expr等
+=,-= 符合赋值
<<=,>>= 符合赋值
&=,` =`,^= 符合赋值
throw 抛出异常 throw expr
, 逗号 expr,expr