二級C++精品課程3-2:優(yōu)先級和結合性

字號:

當不同的運算符混合運算時,運算順序是根據運算符的優(yōu)先級而定的,優(yōu)先級高的運算符先運算,優(yōu)先級低的運算符后運算。在一個表達式中,如果各運算符有相同的優(yōu)先級,運算順序是從左向右,還是從右向左,是由運算符的結合性確定的。所謂結合性是指運算符可以和左邊的表達式結合,也可以與右邊的表達式結合。C++運算符的優(yōu)先級和結合性參見表3-14。
    在表3-14中,"單"表示是單目運算符,"雙" 表示是雙目運算符,"三" 表示是三目運算符。表中有一些運算符,我們還沒有介紹,以后我們會在有關的內容中學習。
     表3-14 C++運算符的優(yōu)先級和結合性
     優(yōu)先級 運算符 種類 結合性
     : :(全局)          
     單 從右到左
     : :(類域)          
     雙 從左到右
    . ( )(括號及函數(shù)調用) - > . .[ ]
     雙 從左到右
    . +
    - ++
    -- !
    ~ *
    & new
    delete sizeof
    (類型)
     單 從右到左
    . - > * . *        
     雙 從左到右
    . + / %       
     雙 從左到右
    . + -         
     雙 從左到右
    . << >>         
     雙 從左到右
    . < < = > > =    
     雙 從左到右
    . = = ! =        
     雙 從左到右
    . &          
     雙 從左到右
    . ^          
     雙 從左到右
    . |          
     雙 從左到右
    . & &          
     雙 從左到右
    . | |          
     雙 從左到右
    . ? :          
     三 從左到右
    . =          
     雙 從右到左
    最低 ,          
     雙 從左到右
    每種運算符都有一個優(yōu)先級,優(yōu)先級是用來標志運算符在表達式中的運算順序的。優(yōu)先級高的先做運算,優(yōu)先級低的后做運算,優(yōu)先級相同的右結合性決定計算順序。
    大多數(shù)運算符都是按從左到右計算,只有三類運算符的結合性是從右到左。他們是:單目、三目和賦值。這一點一定要記住。