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 |
浙公网安备 33010602011771号