共用方式為


後置運算式

後置運算式包含主要運算式,或後置運算子後面接著主要運算式的運算式。 下表列出後置運算子。

後置運算子

運算子名稱

運算子標記法

註標運算子

[ ]

函式呼叫運算子

( )

明確類型轉換運算子

type-name( )

成員存取運算子

.–>

後置遞增運算子

++

後置遞減運算子

––

下列語法描述可能的後置陳述式:

primary-expression 
postfix-expression [ expression ] 
postfix-expression ( expression-list<SUB>opt</SUB> ) 
simple-type-name ( expression-list<SUB>opt</SUB> ) 
postfix-expression . name 
postfix-expression –> name 
postfix-expression ++ 
postfix-expression –– 
cast-keyword < typename > (expression ) 
typeid ( typename )

上述的 postfix-expression 可以是主要運算式或其他後置運算式。請參閱主要運算式。後置運算式由左至右分組,因此可讓運算式鏈結在一起,如下所示:

func(1)->GetValue()++

上述運算式中,func 是一個主要運算式,func(1) 是一個函式後置運算式,func(1)->GetData 是指定類別成員的後置陳述式,func(1)->GetData() 是另一個函式後置運算式,然後,整個運算式是一個會將 GetData 傳回值遞增的後置陳述式。整個運算式的意義是傳遞 1 做為呼叫 func 的引數,並取得類別的指標做為傳回值。然後呼叫該類別的 GetValue(),再將傳回的值遞增。

以上列出的運算式為指派運算式,表示這些運算式的結果必須是右值。

後置運算式格式

simple-type-name ( expression-list )

表示建構函式的引動過程。如果 simple-type-name 是一個基本類型,則運算式清單必須是單一運算式,而這個運算式表示將運算式的值轉型為基本類型。此種轉型運算式會模擬建構函式。由於這個格式允許使用相同的語法建構基本類型和類別,因此該格式在定義樣板類別時會特別有用。

cast-keyword 是其中一個 dynamic_cast、static_cast 或 reinterpret_cast。詳細資訊可以在 dynamic_cast、static_cast 和 reinterpet_cast 中找到。

typeid 運算子會視為是後置運算式。請參閱 typeid 運算子。

請參閱

參考

運算式的類型