Share via


C++-Operatoren, Rangfolge und Assoziativität

Die Sprache C++ umfasst alle C-Operatoren und fügt mehrere neue Operatoren hinzu. Operatoren legen eine Bewertung fest, die an einem oder mehreren Operanden auszuführen ist.

Die Operatorrangfolge legt die Reihenfolge von Vorgängen in Ausdrücken fest, die mehr als einen Operator enthalten. Die Assoziativität von Operatoren gibt an, ob in einem Ausdruck, der mehrere Operatoren mit der selben Rangfolge enthält, ein Operand mit dem auf der linken oder dem auf der rechten Seite gruppiert wird. Die folgende Tabelle zeigt die Rangfolge und Assoziativität von C++-Operatoren (in absteigender Rangfolge). Operatoren mit derselben Rangfolgenzahl haben die gleiche Rangfolge, es sei denn, es wird eine andere Beziehung explizit durch Klammern erzwungen.

C++-Operatorrangfolge und Assoziativität

Operatorbeschreibung

Group 1 precedence, no associativity

Bereichsauflösung

Group 2 precedence, left to right associativity

Memberauswahl (Objekt oder Zeiger)

Arrayfeldindex

Funktionsaufruf

Postfixinkrement

Postfixdekrement

Typname

Konstantentypkonvertierung

Dynamische Typkonvertierung

Neu interpretierte Typkonvertierung

Statische Typkonvertierung

Group 3 precedence, right to left associativity

Größe des Objekts oder Typs

Präfixinkrement

Präfixdekrement

Einerkomplement

Logisches Nicht

Unäre Negation

Unäres Plus

Address-of

Dereferenzierung

Objekt erstellen

Objekt zerstören

Typumwandlung

Group 4 precedence, left to right associativity

Pointer-to-member (Objekte oder Zeiger)

Group 5 precedence, left to right associativity

Multiplikation

Division

Modulooperator

Group 6 precedence, left to right associativity

Addition

Subtraktion

Group 7 precedence, left to right associativity

Nach links verschieben

Nach rechts verschieben

Group 8 precedence, left to right associativity

Kleiner als

Größer als

Kleiner oder gleich

Größer oder gleich

Group 9 precedence, left to right associativity

Gleichheit

Ungleichheit

Group 10 precedence left to right associativity

Bitweises AND

Group 11 precedence, left to right associativity

Bitweises exklusives OR

Group 12 precedence, left to right associativity

Bitweises inklusives OR

Group 13 precedence, left to right associativity

Logisches AND

Group 14 precedence, left to right associativity

Logisches OR

Group 15 precedence, right to left associativity

Bedingt

Group 16 precedence, right to left associativity

Zuweisung

Multiplikationszuweisung

Divisionszuweisung

Modulozuweisung

Additionszuweisung

Subtraktionszuweisung

Linksschiebezuweisung

Rechtsschiebezuweisung

Bitweise AND-Zuweisung

Bitweise inklusive OR-Zuweisung

Bitweise exklusive OR-Zuweisung

Group 17 precedence, right to left associativity

Ausdruck auslösen

Group 18 precedence, left to right associativity

Komma

Siehe auch

Referenz

C++-Operatoren

Überladen von Operatoren