Share via


Postfixausdrücke

Postfixausdrücke bestehen aus primären Ausdrücken bzw. Ausdrücken, in denen Postfixoperatoren einem primären Ausdruck folgen. Die Postfix-Operatoren sind in der folgenden Tabelle aufgeführt.

Postfix-Operatoren

Name des Operators

Operator-Notation

Indexoperator

[ ]

Funktionsaufrufoperator

( )

Operator für die explizite Typkonvertierung

type-name( )

Memberzugriffsoperator

. oder –>

Postfix-Operator für Inkrement

++

Postfix-Operator für Dekrement

––

Die folgende Syntax beschreibt mögliche Postfixausdrücke:

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 )

Der oben angegebene postfix-expression kann ein primärer oder ein anderer Postfixausdruck sein. Weitere Informationen erhalten Sie unter primäre Ausdrücke. Postfixausdrücke gruppieren sich von links nach rechts und ermöglichen so das Verketten der Ausdrücke wie folgt:

func(1)->GetValue()++

Im obigen Ausdruck ist "func" ein primärer Ausdruck, "func(1)" ist ein Funktions-Postfixausdruck, "func(1)->GetData" ist ein Postfixausdruck, der einen Member der Klasse angibt, "func(1)>GetData()" ist ein weiterer Funktions-Postfixausdruck, und der gesamte Ausdruck ist ein Postfixausdruck, der den Rückgabewert von "GetData" erhöht. Die Bedeutung des Ausdrucks als Ganzes ist "Funktion aufrufen, dabei 1 als Argument übergeben und einen Zeiger für eine Klasse als Rückgabewert erhalten. Dann 'GetValue ()' für diese Klasse aufrufen und den zurückgegebenen Wert erhöhen."

Die oben aufgeführten Ausdrücke sind Zuweisungsausdrücke, was bedeutet, dass das Ergebnis dieser Ausdrücke ein "r-value" sein muss.

Die Form des Postfixausdrucks

simple-type-name ( expression-list )

gibt den Aufruf des Konstruktors an. Wenn "simple-type-name" ein grundlegender Typ ist, muss die Ausdrucksliste ein einzelner Ausdruck sein, und dieser Ausdruck gibt eine Umwandlung des Werts des Ausdrucks in den einfachen Typ an. Dieser Typ von Umwandlungsausdruck imitiert einen Konstruktor. Da diese Form die Konstruktion grundlegender Klassen und Typen mit derselben Syntax ermöglicht, ist sie bei der Definition von Vorlagenklassen besonders nützlich.

Das cast-keyword ist eines von dynamic_cast, static_cast oder reinterpret_cast. Weitere Informationen finden Sie unter dynamic_cast, static_cast und reinterpet_cast.

Der typeid-Operator gilt als Postfixausdruck. Weitere Informationen erhalten Sie unter typeid-Operator.

Siehe auch

Referenz

Ausdruckstypen