Freigeben über


Operatorrangfolge und Assoziativität

Die Programmiersprache C++ umfasst alle C-Operatoren mehrere neue Operatoren und fügt sie hinzu.Operatoren geben eine auf eine der folgenden Optionen Auswertung ausgeführt werden:

  • Ein Operand (unärer Operator)

  • Zwei Operanden (binärer Operator)

  • Drei Operanden (ternärer) Operator

Operatoren führen einer strengen Vorrang, die die Auswertungsreihenfolge von Ausdrücken definiert, die diese Operatoren enthalten.Operatoren können entweder mit dem Ausdruck in ihrem linken oder rechten Seite den Ausdruck auf ihrem. Assoziativität „bezeichnet dies wird. In der folgenden Tabelle wird die Rangfolge und Assoziativität von C++-Operatoren an (am höchsten zur niedrigsten Rangfolge aus.)Operatoren in einem Segment der Tabelle haben denselben Rang und werden in der angegebenen Reihenfolge in einem Ausdruck ausgewertet, sofern sie nicht explizit durch Klammern erzwungen.

C++-Operatorenrangfolge und Assoziativität

Operator

Name oder Wichtigkeit

Assoziativität

::

Bereichsauflösung

None

 

 

 

.

Memberauswahl (Objekt)

Von links nach rechts

–>

Memberauswahl (Zeiger)

Von links nach rechts

[ ]

Arrayfeldindex

Von links nach rechts

( )

Funktionsaufruf Initialisierung der Member

Von links nach rechts

++

Postfixinkrement

Von links nach rechts

––

Postfixdekrement

Von links nach rechts

typeid( )

Typname

Von links nach rechts

const_cast

Typumwandlung (Konvertierung)

Von links nach rechts

dynamic_cast

Typumwandlung (Konvertierung)

Von links nach rechts

reinterpret_cast

Typumwandlung (Konvertierung)

Von links nach rechts

static_cast

Typumwandlung (Konvertierung)

Von links nach rechts

 

 

 

sizeof

Größe des Objekts oder Typs

Von rechts nach links

++

Präfixinkrement

Von rechts nach links

––

Präfixdekrement

Von rechts nach links

~

Einerkomplement

Von rechts nach links

!

Logische Keine

Von rechts nach links

Unär minus

Von rechts nach links

+

Unär positiv

Von rechts nach links

&

ADDRESS-von

Von rechts nach links

*

Dereferenzierung

Von rechts nach links

new

Create Objekt

Von rechts nach links

delete

Zerstören Sie Objekts

Von rechts nach links

( )

Typumwandlung

Von rechts nach links

 

 

 

.*

Zeiger-zu-Member (Objekt)

Von links nach rechts

–>*

Zeiger-zu-Member (Zeiger)

Von links nach rechts

 

 

 

*

Multiplikation

Von links nach rechts

/

Division

Von links nach rechts

%

Modulooperator

Von links nach rechts

 

 

 

+

Addition

Von links nach rechts

Subtraktion

Von links nach rechts

 

 

 

<<

Nach links verschieben

Von links nach rechts

>>

Nach rechts verschieben

Von links nach rechts

 

 

 

<

Kleiner als

Von links nach rechts

>

Größer als

Von links nach rechts

<=

Kleiner oder gleich

Von links nach rechts

>=

Größer oder gleich

Von links nach rechts

 

 

 

==

Gleichheit

Von links nach rechts

!=

Ungleichheit

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

 

 

 

expr1 ? expr2 : expr3

Bedingt

Von rechts nach links

 

 

 

=

Zuweisung

Von rechts nach links

*=

Multiplikations-Zuweisung

Von rechts nach links

/=

Divisions-Zuweisung

Von rechts nach links

%=

Modulo-Zuweisung

Von rechts nach links

+=

Hinzufügungs-Zuweisung

Von rechts nach links

–=

Subtraktions-Zuweisung

Von rechts nach links

<<=

Linksschiebe-Zuweisung

Von rechts nach links

>>=

Rechtsschiebe-Zuweisung

Von rechts nach links

&=

Bitweises AND Zuweisung

Von rechts nach links

|=

Bitweises inklusives OR Zuweisung

Von rechts nach links

^=

Bitweises XOR-Operation Zuweisung

Von rechts nach links

 

 

 

throwexpr

Ausdruck Wurfs

Von rechts nach links

 

 

 

,

Komma

Von links nach rechts

Siehe auch

Referenz

C++-Operatoren

Überladen von Operatoren