Unary, Binary, Ternary

Operatoren erwarten entweder einen, zwei oder drei Operanden, was im Englischen mit unary, binary und ternary bezeichnet wird.

Details

Unäre Operatoren besitzen immer nur einen Operanden, der entweder links oder rechts von dem Operator steht. Ein Beispiel für einen unären Operator ist der Negativ-Operator, der auch oft mit unary minus bezeichnet wird. Dieser Operator hat einen Operanden, den er negiert.

-a

Binäre Operatoren hingegen haben zwei Operanden, wie beispielsweise der Multiplikations-Operator, der zwei Werte miteinander multipliziert.

a * b

Der Bedingungsoperator ?: ist der einzige ternäre Operator. Er erwartet drei Operanden, wobei der erste Operand eine Bedingung bezeichnet, welche angibt, ob der zweite oder dritte Operand zurückgegeben wird.

condition ? true_value : false_value;

Im Programmieralltag ist die Einteilung in Unary, Binary und Ternary wenig nützlich, die Operatoren sind grundsätzlich so aufgebaut, dass sie intuitiv mit der richtigen Anzahl Operanden verwendet werden können. Eine Unterscheidung ist nur von theoretischem Interesse.

Der Funktionsaufruf-Operator wird zu den Binary-Operatoren gezählt, wobei die Argumentenliste als ein Operand aufgefasst wird.

Hier eine Auflistung aller Operatoren, sortiert nach unary, binary und ternary:

Unary
+Positiv-Operator
-Negativ-Operator
!Logisch NOT
~Bitweise NOT
&Adress-Operator
*Dereferenz-Operator
++Pre-Inkrement-Operator
--Pre-Dekrement-Operator
++Post-Inkrement-Operator
--Post-Dekrement-Operator
()Operatorenklammerung
::Global-Bereichsoperator
newSpeicher-Reservation-Operator
deleteSpeicher-Freigabe-Operator
new []Array-Speicher-Reservations-Operator
delete []Array-Speicher-Freigabe-Operator
sizeofObjektgrösse-Operator
sizeof()Typgrösse-Operator
typeid()Typ-Identifikation eines Ausdrucks
typeid()Typ-Identifikation eines Typs
throwAusnahmebehandlungs-Operator
Binary
+Additions-Operator
-Subtraktions-Operator
*Multiplikations-Operator
/Divisions-Operator
%Modulo-Operator
&&Logisch AND
||Logisch OR
&Bitweise AND
^Bitweise XOR
|Bitweise OR
<<Shift left
>>Shift right
==Gleich-Operator
!=Ungleich-Operator
<Kleiner-Operator
<=Kleiner-Gleich-Operator
>Grösser-Operator
>=Grösser-Gleich-Operator
=Zuweisungs-Operator
+=Zuweisung nach Addition-Operator
-=Zuweisung nach Subtraktion-Operator
*=Zuweisung nach Multiplikation-Operator
/=Zuweisung nach Division-Operator
%=Zuweisung nach Modulo-Operator
<<=Zuweisung nach Shift-Left-Operator
>>=Zuweisung nach Shift-Right-Operator
&=Zuweisung nach bitweisem AND
|=Zuweisung nach bitweisem OR
^=Zuweisung nach bitweisem XOR
[]Array-Element-Zugriff-Operator
()Funktionsaufruf-Operator
.Feld-Zugriff-Operator
->Pointer-Zugriff-Operator
.*Feld-Member-Operator
->*Pointer-Member-Operator
,Sequenz-Operator
()expliziter Casting-Operator
::Bereichsoperator
()Initialisierung von Membern
const_cast<>const-Casting-Operator
static_cast<>static-Casting-Operator
dynamic_cast<>dynamic-Casting-Operator
reinterpret_cast<>reinterpret-Casting-Operator
Ternary
? :Bedingungs-Operator