C++Integrierte Operatoren, Rangfolge und AssoziativitätC++ Built-in Operators, Precedence and Associativity

Die Sprache C++ umfasst alle C-Operatoren und fügt mehrere neue Operatoren hinzu.The C++ language includes all C operators and adds several new operators. Operatoren legen eine Bewertung fest, die an einem oder mehreren Operanden auszuführen ist.Operators specify an evaluation to be performed on one or more operands.

Operator Rangfolge gibt die Reihenfolge der Vorgänge in Ausdrücken an, die mehr als einen Operator enthalten.Operator precedence specifies the order of operations in expressions that contain more than one operator. Operator Assoziativität gibt an, ob in einem Ausdruck, der mehrere Operatoren mit der gleichen Rangfolge enthält, ein Operand auf der linken Seite oder auf der rechten Seite des Operators gruppiert wird.Operator associativity specifies whether, in an expression that contains multiple operators with the same precedence, an operand is grouped with the one on its left or the one on its right. Die folgende Tabelle zeigt die Rangfolge und Assoziativität von C++-Operatoren (in absteigender Rangfolge).The following table shows the precedence and associativity of C++ operators (from highest to lowest precedence). Operatoren mit derselben Rangfolgenzahl haben die gleiche Rangfolge, es sei denn, es wird eine andere Beziehung explizit durch Klammern erzwungen.Operators with the same precedence number have equal precedence unless another relationship is explicitly forced by parentheses.

C++-Operatorrangfolge und AssoziativitätC++ Operator Precedence and Associativity

OperatorbeschreibungOperator Description OperatorOperator
Rangfolge der Gruppe 1, keine AssoziativitätGroup 1 precedence, no associativity
Bereichs AuflösungScope resolution ::::
Priorität der Gruppe 2, links-nach-rechts-AssoziativitätGroup 2 precedence, left to right associativity
Elementauswahl (Objekt oder Zeiger)Member selection (object or pointer) . oder->. or ->
Array IndexArray subscript [][]
FunktionsaufrufeFunction call ()()
Postfix-InkrementPostfix increment ++
Postfix DekrementPostfix decrement --
TypnameType name typeidtypeid
Konstante TypkonvertierungConstant type conversion const_castconst_cast
Dynamische TypkonvertierungDynamic type conversion dynamic_castdynamic_cast
Neu interpretierte TypkonvertierungReinterpreted type conversion reinterpret_castreinterpret_cast
Statische TypkonvertierungStatic type conversion static_caststatic_cast
Gruppe 3-Rangfolge, von rechts nach links AssoziativitätGroup 3 precedence, right to left associativity
Größe des Objekts oder TypsSize of object or type sizeofsizeof
Präfix InkrementPrefix increment ++
Präfix DekrementPrefix decrement --
EinerkomplementOne's complement ~
Logisches NOTLogical not [!](../cpp/logical-negation-operator-exclpt.md)(../cpp/logical-negation-operator-exclpt.md)
Unäre NegationUnary negation -
Unäres PlusUnary plus +
Adresse-vonAddress-of &
DereferenzierungIndirection **
Create object (Objekt erstellen)Create object Neunew
Objekt zerstörenDestroy object deletedelete
UmwandelnCast ()()
Priorität der Gruppe 4, von links nach rechts AssoziativitätGroup 4 precedence, left to right associativity
Zeiger auf Member (Objekte oder Zeiger)Pointer-to-member (objects or pointers) . * oder->*.* or ->*
Priorität der Gruppe 5, links-nach-rechts-AssoziativitätGroup 5 precedence, left to right associativity
MultiplikationMultiplication **
DivisionDivision /
ModuloModulus %
Priorität der Gruppe 6, von links nach rechts AssoziativitätGroup 6 precedence, left to right associativity
AdditionAddition +
SubtraktionSubtraction -
Gruppen 7-Rangfolge, von links nach rechts AssoziativitätGroup 7 precedence, left to right associativity
Nach links verschiebenLeft shift <<
Rechte VerschiebungRight shift >>
Rangfolge der Gruppe 8, von links nach rechts AssoziativitätGroup 8 precedence, left to right associativity
Kleiner alsLess than <
Größer alsGreater than >
Kleiner gleichLess than or equal to <=
Größer gleichGreater than or equal to >=
Group 9-Rangfolge, von links nach rechts AssoziativitätGroup 9 precedence, left to right associativity
GleichheitEquality ==
UngleichheitInequality [!=](../cpp/equality-operators-equal-equal-and-exclpt-equal.md)(../cpp/equality-operators-equal-equal-and-exclpt-equal.md)
Gruppe 10 hat Vorrang vor der rechten AssoziativitätGroup 10 precedence left to right associativity
Bitweises ANDBitwise AND &
Gruppe 11, Rangfolge, links-nach-rechts-AssoziativitätGroup 11 precedence, left to right associativity
Bitweises exklusives ORBitwise exclusive OR ^
Priorität der Gruppe 12, von links nach rechts AssoziativitätGroup 12 precedence, left to right associativity
Bitweises inklusives ORBitwise inclusive OR ||
Gruppe 13, Rangfolge, links-nach-rechts-AssoziativitätGroup 13 precedence, left to right associativity
Logisches ANDLogical AND &&
Gruppe 14 Rangfolge, links-nach-rechts-AssoziativitätGroup 14 precedence, left to right associativity
Logisches ORLogical OR ||||
Gruppe 15 Rangfolge, von rechts nach links AssoziativitätGroup 15 precedence, right to left associativity
ConditionalConditional ? :? :
Gruppe 16 Rangfolge, von rechts nach links AssoziativitätGroup 16 precedence, right to left associativity
ZuweisungAssignment =
Multiplikations ZuweisungMultiplication assignment *=*=
Divisions ZuweisungDivision assignment /=
ModulozuweisungModulus assignment %=
Additions ZuweisungAddition assignment +=
Subtraktions ZuweisungSubtraction assignment -=
Links Schiebe ZuweisungLeft-shift assignment <<=
Rechts Schiebe ZuweisungRight-shift assignment >>=
Bitweise AND-ZuweisungBitwise AND assignment &=
Bitweise inklusive OR-ZuweisungBitwise inclusive OR assignment |=|=
Bitweise exklusive OR-ZuweisungBitwise exclusive OR assignment ^=
Gruppe 17 Rangfolge, von rechts nach links AssoziativitätGroup 17 precedence, right to left associativity
Throw-Ausdruckthrow expression throwthrow
Gruppe 18 Rangfolge, links-nach-rechts-AssoziativitätGroup 18 precedence, left to right associativity
KommaComma ,,

Weitere InformationenSee also

OperatorüberladungOperator Overloading