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