C++运算符优先级
作用域解析
class_name::member
作用域解析
namespace_name::member
全局
::name
全局
::qualified-name
成员选择
object.member
成员选择
pointer->member
下标
pointer[expr]
函数调用
expr(expr_list)
值构造
type(expr_list)
后增量
lvalue++
后减量
lvalue--
类型识别
typeid(type)
运行时类型识别
typeid(expr)
运行时检查的转换
dynamic_cast(expr)
编译时检查的转换
static_cast(expr)
不检查的转换
reinterpret_cast(expr)
const转换
const_cast(expr)
对象的大小
sizeof expr
类型的大小
sizeof(type)
前增量
++lvalue
前减量
--lvalue
补
~ expr
非(否定)
! expr
一元负号
- expr
一元正号
+ expr
地址
& lavlue
间接
* expr
建立(分配)
new type
建立(分配并初始化)
new type (expr-list)
建立(放置)
new (expr-list) type
建立(放置并初始化)
new (expr-lis)) type (expr-list)
销毁(释放)
delete pointer
销毁数组
delete[] pointer
强制(类型转换)
(type)expr
成员选择
object.*pointer-to-member
成员选择
pointer->*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
除并赋值
lvalue /= expr
取模并赋值
lvalue %= expr
加并赋值
lvalue += expr
减并赋值
lvalue -= expr
左移并赋值
lvalue <<= expr
右移并赋值
lvalue >>= expr
与并赋值
lvalue &= expr
或并赋值
lvalue |= expr
异或并赋值
lvalue ^= expr
抛出异常
throw expr
逗号(序列)
expr,expr