C++操作符的優先級

C++操作符的優先級


C++操作符的優先級
操作符及其結合性
功能
用法
L
L
L
::
::
::
全局作用域 
類作用域 
名字空間作用域
::name
class::name
namespace::name
L
L
L
L
L
.
->
[]
()
()
成員選擇 
成員選擇 
下標 
函數調用 
類型構造 
object.member
pointer->member
variable[expr]
name(expr_list)
type(expr_list)
R
R
R
R
R
++
--
typeid
typeid
顯示強制類型轉換 
後自增操作 
後自減操作 
類型ID
運行時類型ID
類型轉換 
lvalue++
lvalue--
typeid(type)
typeid(expr)
cast_name<type>(expr)
R
R
R
R
R
R
R
R
R
R
R
R
R
R
sizeof
sizeof
++
--
~
!
-
+
*
&
()
new
delete
delete[]
對象的大小 
類型的大小 
前自增操作 
前自減操作 
位求反 
邏輯非 
一元負號 
一元正號 
解引用 
取地址 
類型轉換 
創建對象 
釋放對象 
釋放數組
sizeof expr
sizeof(type)
++lvalue
--lvalue
~expr
!expr
-expr
+expr
*expr
&expr
(type)expr
new type
delete expr
delete []expr
L
L
->*
.*
指向成員操作的指針 
指向成員操作的指針
ptr->*ptr_to_member
obj.*ptr_to_member
L
L
L
*
/
%
乘法 
除法 
求模(求餘)
expr * expr
expr / expr
expr % expr
L
L
+
-
加法 
減法
expr + expr
expr - expr
L
L
<< 
>>
位左移 
位右移
expr << expr
expr >> expr
L
L
L
L

<=

>=
小於 
小於或等於 
大於 
大於或等於
expr < expr
expr <= expr
expr > expr
expr >= expr
L
R
==
!=
相等 
不等
Expr == expr
Expr != expr
R&位與Expr & expr
R^位異或Expr ^ expr
R|位或Expr | expr
R&&邏輯與Expr && expr
R||邏輯或Expr || expr
R?:條件操作Expr ? expr : expr
R
R
R
R
R
=
*=,/=,%=
+=,-=
<<=,>>=
&=,|=,^=
賦值操作 
符合賦值操作 

Lvalue= expr
Lvalue+= expr
…… 

Rthrow拋出異常Throw expr
L,逗號Expr, expr
記憶方法:
--摘自《C語言程序設計實用問答》     -呂鳳翥     呂     濤著   
    問題:如何記住運算符的15種優先級和結合性?   
    解答:C語言中運算符種類比較繁多,優先級有15種,結合性有兩種。   
    如何記憶兩種結合性和15種優先級?下面講述一種記憶方法。   
    結合性有兩種,一種是自左至右,另一種是自右至左,大部分運算符的結合性是自左至右,只有單目運算符、三目運算符的賦值運算符的結合性自右至左。   
    優先級有15種。記憶方法如下:   
    記住一個最高的:構造類型的元素或成員以及小括號。   
    記住一個最低的:逗號運算符。   
    剩餘的是一、二、三、賦值。   
    意思是單目、雙目、三目和賦值運算符。   
    在諸多運算符中,又分爲:   
    算術、關係、邏輯。   
    兩種位操作運算符中,移位運算符在算術運算符後邊,邏輯位運算符在邏輯運算符的前面。再細分如下:   
    算術運算符分     *,/,%高於+,-。   
    關係運算符中,》,》=,《,〈=高於==,!=。   
    邏輯運算符中,除了邏輯求反(!)是單目外,邏輯與(&&)高於邏輯或(||)。   
    邏輯位運算符中,除了邏輯按位求反(~)外,按位與(&)高於按位半加(^),高於按位或(|)。   
    這樣就將15種優先級都記住了,再將記憶方法總結如下:   
    去掉一個最高的,去掉一個最低的,剩下的是一、二、三、賦值。雙目運算符中,順序爲算術、關係和邏輯,移位和邏輯位插入其中。  

http://blog.csdn.net/ldong2007/article/details/3906005
轉自:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章