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 |