C++运算符的优先级和结合性
当不同的运算符混合运算时,运算顺序是根据运算符的优先级而定的,优先级高的运算符先运算,
优先级低的运算符后运算。在一个表达式中,如果各运算符有相同的优先级,运算顺序是从左向右,还是
从右向左,是由运算符的结合性确定的。所谓结合性是指运算符可以和左边的表达式结合,也可以与右边
的表达式结合。C++运算符的优先级和结合性参见表,“单”表示是单目运算符,“双”@表示是双目运算符,
“三”@表示是三目运算符。
1.C++运算符的优先级和结合性@
每种运算符都有一个优先级,优先级是用来标志运算符在表达式中的运算顺序的。优先级高的先做
运算,优先级低的后做运算,优先级相同的由结合性决定计算顺序。大多数运算符都是按从左到右计算,
只有三类运算符的结合性是从右到左。他们是:单目、三目和赋值。这一点一定要记住。
2.C 语言运算符优先级总表
优先级 运算符 名称或含义 使用形式
结合方
向
说明
1
[]
数组下标 数组名[常量表达式]
左到右
()
圆括号 (表达式)/函数名(形参表)
.
成员选择(对
象)
对象.成员名
->
成员选择(指
针)
对象指针->成员名
2 +
正号运算符 +表达式 右到左 单目运算符
-
负号运算符 -表达式 单目运算符