C 运算符 | 类型 | 类型 |
---|---|---|
() 括号(函数调用运算符)[] 数组下标. 通过对象选择成员(直接引用)-> 通过指针选择成员(间接引用)++ 一元后置递增-- 一元后置递减 | 从左向右 | |
++ 一元前缀递增-- 一元前缀递减+ 一元正- 一元负! 一元逻辑非~ 一元按位取补(类型) C 风格的一元强制类型转换* 解引用& 取地址 | 一元运算符 | 从右向左 |
* 乘/ 除% 取模 | 乘法类运算符 | 从左向右 |
+ 加- 减 | 加法类运算符 | 从左向右 |
<< 按位左移>> 按位右移 | 移位类运算符 | 从左向右 |
< 小于<= 小于等于> 大于>= 大于等于 | 关系类运算符 | 从左向右 |
== 关系等于!= 关系不等于 | 相等类运算符 | 从左到右 |
& 按位与 | 位运算符 | 从左向右 |
^ 按位异或 | 位运算符 | 从左向右 |
` | ` 按位同或 | 位运算符 |
&& 按位与 | 按位与运算符 | 从左向右 |
` | ` 按位或 | |
?: 三元条件运算 | 三元条件运算符 | 从右向左 |
= 赋值+= 加赋值-= 减赋值*= 乘赋值/= 除赋值%= 取模赋值&= 按位与赋值^= 按位异或赋值` | = 按位同或赋值 <<= 按位左移赋值 >>=` 按位右移赋值 | 赋值运算符 |
, 逗号 | 逗号运算符 | 从左向右 |
C++ 运算符 | 类型 | 类型 |
---|---|---|
:: 二元作用域:: 一元作用域 | 作用域运算符 | 从左向右 |
() 括号(函数调用运算符)[] 数组下标. 通过对象选择成员-> 通过指针选择成员++ 一元后置递增-- 一元后置递减typeid 运行时类型信息dynamic_cast 运行时类型检查的强制类型转换static_case 编译时类型检查的强制类型转换reinterpret_case 非标准转换的强制类型转换const_cast 对常量进行强制类型转换++ 一元前缀递增-- 一元前缀递减+ 一元正- 一元负! 一元逻辑非~ 一元按位取补(类型) C 风格的一元强制类型转换sizeof 按字节确定大小* 解引用& 取地址new 动态内存分配new[] 动态数组分配delete 动态内存释放delete[] 动态数组释放 | 一元运算符 | 从左向右 从右向左 |
. * 通过对象指向成员的指针-> * 通过指针指向成员的指针 | 指针类运算符 | 从左向右 |
* 乘/ 除% 取模 | 乘法类运算符 | 从左向右 |
+ 加- 减 | 加法类运算符 | 从左向右 |
<< 按位左移>> 按位右移 | 移位类运算符 | 从左向右 |
< 小于<= 小于等于> 大于>= 大于等于 | 关系类运算符 | 从左向右 |
== 关系等于!= 关系不等于 | 相等类运算符 | 从左到右 |
& 按位与^ 按位异或 | 位运算符 | 从左向右 |
` | ` 按位同或 | 位运算符 |
&& 按位与 | 按位与运算符 | 从左向右 |
` | ` 按位或 | |
?: 三元条件运算 | 三元条件运算符 | 从右向左 |
= 赋值+= 加赋值-= 减赋值*= 乘赋值/= 除赋值%= 取模赋值&= 按位与赋值^= 按位异或赋值` | = 按位同或赋值 <<= 按位左移赋值 >>=` 按位右移赋值 | 赋值运算符 |
, 逗号 |
上一篇:Runtime源码剖析-对象
下一篇:半自动越位判罚技术