Sdílet prostřednictvím


Výrazy přípony

Výrazy přípony jsou tvořeny primárními výrazy nebo výrazy, ve kterých příponové operátory následují primární výraz.Příponové operátory jsou uvedeny v následující tabulce.

Příponové operátory

Název operátoru

Zápis operátoru

Operátor indexu

[ ]

Operátor volání funkce

( )

Operátor explicitního převodu typu

název-typu( )

Operátor přístupu ke členu

. nebo –>

Příponový operátor zvýšení

++

Příponový operátor snížení

––

Následující syntaxe popisuje možné výrazy přípony:

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 uvedený výše může být primární výraz nebo jiný výraz přípony. Další informace naleznete v tématu primární výrazy. Výrazy přípony seskupují zleva doprava, takže umožňují následující zřetězení výrazů:

func(1)->GetValue()++

Ve výše uvedeném výrazu je func primární výraz, func(1) je výraz přípony funkce, func(1)->GetData je výraz přípony určující člena třídy, func(1)->GetData() je jiný výraz přípony funkce a celý výraz je výraz přípony zvyšující návratovou hodnotu funkce GetData. Význam výrazu jako celek je "volání funkce func předání hodnoty 1 jako argument a získání ukazatele na třídu jako návratovou hodnotu. Poté volání funkce GetValue() dané třídy a poté zvýšení vrácené hodnoty.

Výrazy uvedené výše jsou výrazy přiřazení, což znamená, že výsledkem těchto výrazů musí být p-hodnota.

Tvar výrazu přípony

simple-type-name ( expression-list )

označuje volání konstruktoru. Pokud je simple-type-name základní typ, seznam výrazů musí být jeden výraz a tento výraz označuje přetypování hodnoty výrazu na základní typ. Tento typ výrazu přetypování napodobuje konstruktor. Vzhledem k tomu, že tento tvar umožňuje základním typům a třídám, aby byly konstruovány pomocí stejné syntaxe, je tento tvar obzvláště užitečný při definování tříd šablon.

cast-keyword je jedním z dynamic_cast, static_cast nebo reinterpret_cast. Další informace naleznete v tématech dynamic_cast, static_cast a reinterpet_cast.

Operátor typeid se považuje za výraz přípony. Další informace naleznete v tématu Operátor typeid.

Viz také

Referenční dokumentace

Typy výrazů