Operatorenrangfolge und -assoziativität

Jeder Operator, der vom Ausdrucks-Generator unterstützt wird, weist eine zugewiesene Rangfolge in der Rangfolgenhierarchie auf und enthält eine bestimmte Auswertungsrichtung. Die Auswertungsrichtung für einen Operator ist die Operatorassoziativität. Operatoren mit einer höheren Position in der Rangfolge werden vor Operatoren mit einer niedrigeren Position in der Rangfolge ausgewertet. Besitzt ein komplexer Ausdruck mehrere Operatoren, bestimmt die Operatorenrangfolge die Reihenfolge, in der die einzelnen Operationen ausgeführt werden. Die Ausführungsreihenfolge kann sich entscheidend auf das Ergebnis auswirken. Manche Operatoren weisen die gleiche Rangfolge auf. Falls ein Ausdruck mehrere Operatoren mit gleicher Rangfolge enthält, werden die Operatoren von links nach rechts bzw. von rechts nach links ausgewertet.

In der folgenden Tabelle ist die Rangfolge von Operatoren aufgeführt, wobei Operatoren mit einer hohen Position in der Rangfolge zuerst aufgeführt sind. Operatoren auf derselben Ebene haben die gleiche Rangfolge.

Operatorsymbol

Art der Operation

Assoziativität

( )

Ausdruck

Von links nach rechts

–, !, ~

Unäroperatoren

Von rechts nach links

Umwandlungen

Unäroperatoren

Von rechts nach links

*, / ,%

Multiplikativ

Von links nach rechts

+, –

Additiv

Von links nach rechts

<, >, <=, >=

Relational

Von links nach rechts

==, !=

Gleichheit

Von links nach rechts

&

Bitweises AND

Von links nach rechts

^

Bitweises exklusives OR

Von links nach rechts

|

Bitweises inklusives OR

Von links nach rechts

&&

Logisches AND

Von links nach rechts

||

Logisches OR

Von links nach rechts

? :

Bedingter Ausdruck

Von rechts nach links

Siehe auch

Andere Ressourcen