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: