C 操作符優先順序

2021-06-13 22:43:36 字數 2395 閱讀 5407

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(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 exprl l

->*

.*指向成員操作的指標 

指向成員操作的指標

ptr->*ptr_to_member

obj.*ptr_to_member

l l l*

/ %乘法 

除法 

求模(求餘)

expr * expr

expr / expr

expr % exprl l

+ -加法 

減法expr + expr

expr - exprl l

<< 

>>

位左移 

位右移expr << expr

expr >> expr

l l l l

<=

>=

小於 

小於或等於 

大於 

大於或等於

expr < expr

expr <= expr

expr > expr

expr >= exprl r

== !=

相等 

不等expr == expr

expr != exprr&

位與expr & exprr^

位異或expr ^ exprr|

位或expr | exprr&&

邏輯與expr && exprr||

邏輯或expr || exprr?:

條件操作

expr ? expr:expr

r r

r r r=

*=,/=,%=

+=,-=

<<=,>>=

&=,|=,^=

賦值操作 

復合賦值操作 

lvalue= expr

lvalue+= expr

…… 

rthrow

丟擲異常

throw exprl,

逗號expr, expr

c 操作符優先順序

c 操作符的優先順序 操作符及其結合性 功能 用法l ll 全域性作用域 類作用域 名字空間作用域 name class name namespace namell lll.成員選擇 成員選擇 下標 函式呼叫 型別構造 object.member pointer member variable ex...

操作符優先順序

操作符優先順序 優先順序運算子 名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式 右到左單目 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數...

操作符優先順序

優先順序 運算子含 義 要求運算 物件的個數 結合方向1 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 自左至右2 邏輯非運算子 1 單目運算子 自右至左 按位取反運算子 自增運算子 自減運算子 負號運算子 型別 型別轉換運算子 指標運算子 位址與運算子 sizeof 長度運算子 3 ...