Wyrażenia przyrostków
Wyrażenia przyrostkowe składają się z podstawowego wyrażenia lub wyrażeń, w których przyrostkowe operatory obserwują wyrażenie podstawowe.Operatory przyrostkowe są wymienione w poniższej tabeli.
Operatory przyrostka
Nazwa operatora |
Notacja operatora |
---|---|
[ ] |
|
( ) |
|
nazwa typu( ) |
|
. lub –> |
|
++ |
|
–– |
Następująca składnia opisuje możliwe przyrostki wyrażeń:
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 )
Wyrażenie przyrostkowe powyżej może być wyrażeniem podstawowym lub innym wyrażeniem przyrostka. Zobacz Wyrażenia podstawowe. Przyrostkowe grupy wyrażeń od lewej do prawej, umożliwiają w ten sposób wyrażeniom, aby były powiązane ze sobą w następujący sposób:
func(1)->GetValue()++
W wyrażeniu powyżej func jest wyrażeniem podstawowym, func(1) jest przyrostkiem wyrażenia funkcyjnego, func(1) ->GetData jest wyrażeniem przyrostka określającym członka klasy func(1) ->GetData() jest innym wyrażeniem przyrostka funkcji, a całe wyrażenie jest wyrażenie przyrostka, zwiększającym wartość zwracaną z GetData. Znaczenie wyrażenia jako całość jest "wywołaj funkcję przekazywania 1 jako argument i uzyskaj wskaźnik do klasy jako wartość zwracaną. Następnie wywołaj GetValue () dla tej klasy, a następnie zwiększ wartość zwracaną.
Wyrażenia wymienione powyżej są przypisaniem wyrażeń, co oznacza, że wyniki wyrażenia muszą być wartościami.
Forma wyrażenia przyrostkowego
simple-type-name ( expression-list )
Wskazuje wywołania konstruktora. Jeśli prosta nazwa typu jest typem podstawowym, na liście wyrażeń musi być wyrażeniem pojedynczym, a to wyrażenie oznacza rzutowanie wartości wyrażenia do typu podstawowego. Ten typ wyrazenia rzutującego naśladuje konstruktor. Ponieważ ta forma umożliwia, że podstawowe typy i klasy będą wykonane przy użyciu tej samej składni, ta forma jest szczególnie przydatna podczas definiowania klas szablonów.
Słowo kluczowe cast jest jednym z dynamic_cast, static_cast lub reinterpret_cast. Więcej informacji można znaleźć w dynamic_cast, static_cast i reinterpet_cast.
Operator typeid jest uważany za wyrażenie przyrostka. Zobacz Operator typeid.