C 语言运算符优先级及结合性明细表
优先级 运算符 功能 目数 结合性
1 () 改变运算优先级或函数调用 双目 从左向右
[] 访问数组元素
. 直接访问数据成员
-> 间接访问数据成员
2 ! 逻辑非 单目 从右向左
~ 按位取反
+, - 取正,取负
* 间接访问对象
& 取对象地址
++,―― 增1,减1
() 强制类型转换
sizeof 测类型长度
3 *,/,% 乘,除,取余 双目 从左向右
4 +,- 加,减
5 <>,>>> 按位左移,按位右移,无符号右移
6 <,<=,>,>= 小于,小于等于,大于,大于等于
7 ==,!= 等于,不等于
8 & 按位与
9 ^ 按位异或
10 | 按位或
11 && 逻辑与
12 || 逻辑或
13 ?: 条件运算符 三目 从右向左
14 = 赋值 双目 从右向左
+=,-= 加赋值,减赋值
*=,/ = 乘赋值,除赋值
%=,&= 取余赋值、按位与赋值
^= 按位异或赋值
|= 按位或赋值
<<= 按位左移赋值
>>= 按位右移赋值
15 , 逗号运算符 双目 从左向右
C++ 操作符的优先级
优先级 运算符 叙述 示例 重载性 结合性
1 :: 全局作用域 ::name 否 由左至右
:: 类作用域 class::name
:: 名字空间作用域