打印本文 打印本文  关闭窗口 关闭窗口  
二级C++精品课程3-2:优先级和结合性
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:40:00  文章录入:杜斌  责任编辑:杜斌

  当不同的运算符混合运算时,运算顺序是根据运算符的优先级而定的,优先级高的运算符先运算,优先级低的运算符后运算。在一个表达式中,如果各运算符有相同的优先级,运算顺序是从左向右,还是从右向左,是由运算符的结合性确定的。所谓结合性是指运算符可以和左边的表达式结合,也可以与右边的表达式结合。C++运算符的优先级和结合性参见表3-14。
  在表3-14中,"单"表示是单目运算符,"双" 表示是双目运算符,"三" 表示是三目运算符。表中有一些运算符,我们还没有介绍,以后我们会在有关的内容中学习。

表格 表3-14 C++运算符的优先级和结合性
 
优先级 运算符 种类 结合性
最高
: :(全局)          
从右到左
最高
: :(类域)          
从左到右
.
( )(括号及函数调用) - > . .[ ]
从左到右
.
+
-
++
--
!
~
*
&
new
delete
sizeof
(类型)
从右到左
.
- > * . *        
从左到右
.
+ / %       
从左到右
.
+         
从左到右
.
<< >>         
从左到右
.
< < = > > =    
从左到右
.
= = ! =        
从左到右
.
&          
从左到右
.
^          
从左到右
.
|          
从左到右
.
& &          
从左到右
.
| |          
从左到右
.
? :          
从左到右
.
=          
从右到左
最低
,          
从左到右
  每种运算符都有一个优先级,优先级是用来标志运算符在表达式中的运算顺序的。优先级高的先做运算,优先级低的后做运算,优先级相同的右结合性决定计算顺序。
  大多数运算符都是按从左到右计算,只有三类运算符的结合性是从右到左。他们是:单目、三目和赋值。这一点一定要记住。

点击链接进入大图

打印本文 打印本文  关闭窗口 关闭窗口