int i;
int k;
i=i+k; //oder: i+=k!
//Der Compiler denkt sich
// i+k;
//als:
// i.operator+(k);
//und ruft daher auf:
// int.operator+(int)
| Operator |
Parameteranzahl |
Funktion |
Priorität |
Assoziativität |
| + |
1 |
arithm. Vorzeichen |
14 |
r-l |
| + |
2 |
Addition |
12 |
l-r |
| - |
1 |
arithm. Vorzeichen |
14 |
r-l |
| - |
2 |
Subtraktion |
12 |
l-r |
| ++ |
1 |
Inkrement |
14 |
r-l |
| -- |
1 |
Dekrement |
14 |
r-l |
| * |
2 |
Multiplikation |
13 |
l-r |
| / |
2 |
Division |
13 |
l-r |
| % |
2 |
Modulo |
13 |
l-r |
| ^ |
2 |
bitweises exklusives Oder |
7 |
l-r |
| & |
2 |
bitweises Und |
8 |
l-r |
| | |
2 |
bitweises Oder |
6 |
l-r |
| ~ |
1 |
bitweises Nicht (Komplement) |
14 |
r-l |
| && |
2 |
logisches Und |
5 |
l-r |
| || |
2 |
logisches Oder |
4 |
l-r |
| ! |
1 |
logisches Nicht |
14 |
r-l |
| << |
2 |
bitweise Linksverschiebung |
11 |
l-r |
| >> |
2 |
bitweise Rechtsverschiebung |
11 |
l-r |
| = |
2 |
Wertzuweisung |
2 |
r-l |
+=, -=, *=, /=, %=, ^=, &=, |=, >>=, <<= |
2 |
Wertzuweisung |
2 |
r-l |
| == |
2 |
Gleichheit |
9 |
l-r |
| != |
2 |
Ungleichheit |
9 |
l-r |
| < |
2 |
kleiner |
10 |
l-r |
| > |
2 |
größer |
10 |
l-r |
| <= |
2 |
kleiner oder gleich |
10 |
l-r |
| >= |
2 |
größer oder gleich |
10 |
l-r |
| ->* |
2 |
Komponentenzeigerdereferenzierung |
14 |
r-l |
| * |
1 |
Dereferenzierung |
14 |
r-l |
| & |
1 |
Addressermittlung |
14 |
r-l |
| , |
2 |
sequentielle Auswertung |
1 |
l-r |
| [] |
2 |
Indizierung (ein Element zurückgeben) |
15 |
l-r |
| () |
n |
Funktionsaufruf |
15 |
l-r |
| (Typ) |
1 |
Typkonveration (Umwandlung) |
14 |
r-l |
| new |
n |
Speicheranforderung |
15 |
r-l |
| delete |
n |
Speicherfreigabe |
15 |
r-l |
| Keine Garantie! |