C++符号优先级一览

优先顺序由上往下递减

 
操作符 功能 用法
 ::  全局域  ::name
 ::  类域  classtype::name
 ::  名字空间域  namespace::name
 .  成员选择  object.member
 ->  成员选择  pointer->member
 []  下标  variable[expr]
 ()  函数调用  name(expr_list)
 ()  类型构造  type(expr_list)
 ++  后置递增  lvalue++
 --  后置递减  lvalue--
 typeid  类型ID  typeid(type)
 typeid  运行时刻类型ID  typeid(expr)
 const_cast  类型转换  const_cast<type>(expr)
 dynamic_cast  类型转换  dynamic_cast<type>(expr)
 reinterpret_cast  类型转换  reinterpret_cast<type>(expr)
 static_cast  类型转换  static_cast<type>(expr)
 sizeof 对象的大小  sizeof object
 sizeof 类型的大小
 sizeof(type)
 ++  前置递增  ++lvalue
 --  前置递减  --lvalue
 ~  按位非  ~expr
 !  逻辑非  !expr
 -  一元减  -expr
 +  一元加  +expr
 *  解引用  *expr
 &  取地址  &expr
 ()  类型转换  (type)expr
 new  分配对象  new type
 new  分配/初始化对象  new type(expr_list)
 new  分配/替换对象  new(expr_list)type(expr_list)
 new  分配数组  所有的形式
 delete  释放对象  所有的形式
 delete  释放数组  所有的形式
 ->*  指向成员选择  pointer->*pointer_to_member
 .*  指向成员选择  object.*pointer_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
原文地址:https://www.cnblogs.com/klobohyz/p/2439200.html