Der einzige ternäre Operator ist ?:, der zur Selektion von
Subausdrücken (gleichen Typs) dient. Falls der Ausdruck links von
? wahr ist, wird der erste, sonst der zweite Ausdruck verwendet
(siehe Abschnitt
).
int i; std::cout << (i > 0) ? i : 0; // never prints a negative number
Der Operator () bewirkt Funktionsaufruf, [] dient als
Indizierungsoperator für Zeiger und Felder, ein Punkt '.' zur Auswahl
eines Elementes aus einer Struktur und -> dem gleichen Zweck,
wenn ein Pointer auf eine Struktur gegeben ist.
struct Person {
string name;
int age;
};
void f(){
Person p;
Person *p_p = &p;
p.age = 25;
p_p->age = 25; // equivalent
}
Die unären Operatoren * und & dienen zum Finden des Wertes
einer Zeigervariablen, bzw. zum Finden der Adresse einer (beliebigen)
Variablen (siehe Kapitel
Operatorausdrücke werden nach den in C üblichen Regeln für Rang und
ggf. bei Mehrfachvorkommen mit der in Tafel
zusammengefaßten Assoziativität behandelt: