4.1 运算符的优先级
C++/C 语言的运算符有数十个,运算符的优先级与结合律如表 4-1 所示。注意一元
运算符 + - * 的优先级高于对应的二元运算符。
优先级 运算符 结合律
( ) [ ] -> . 从左至右
! ~ ++ -- (类型) sizeof
+ - * &
从右至左
* / % 从左至右
+ - 从左至右
<< >> 从左至右
< <= > >= 从左至右
== != 从左至右
& 从左至右
^ 从左至右
| 从左至右
&& 从左至右
|| 从右至左
?: 从右至左
从
高
到
低
排
列
= += -= *= /= %= &= ^=
|= <<= >>=
从左至右
表 4-1 运算符的优先级与结合律
【规则 4-1-1】如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免
使用默认的优先级。
由于将表 4-1 熟记是比较困难的,为了防止产生歧义并提高可读性,应当用括号确
定表达式的操作顺序。例如:
word = (high << 8) | low
1