C++-Operatoren im Überblick – die wichtigsten Operatoren der objektorientierten Programmiersprache

Egal, ob Sie C++ lernen oder schon lange mit der Programmiersprache arbeiten: C++-Operatoren sind die Grundlage für eine effiziente Programmierung mit C++. Einige Operatoren entsprechen ihrer intuitiven Bedeutung, andere hingegen erschließen sich vielleicht nicht auf den ersten Blick.

Was sind C++-Operatoren?

Im Grunde genommen ist ein Operator lediglich ein Zeichen für eine Operation. Diese kann sich auf einen, meistens aber auf mehrere Operanden beziehen. Als Resultat erhalten Sie in den meisten Fällen einen neuen Wert. Ein beliebtes Beispiel für Operanden sind die arithmetischen Operatoren, die man aus der Schule kennt, beispielsweise „+“ für die Addition und „-“ für die Subtraktion zweier Zahlen.

Man unterscheidet die C++-Operatoren nicht nur nach ihrem Funktionszweck. Auch die Stelligkeit oder Arität der Operatoren ist ein wichtiges Unterscheidungskriterium:

Stelligkeit Anzahl Operanden Beispiel
Unäre Operatoren Ein Operand Logische Negation: !var_name
Binäre Operatoren Zwei Operanden Addition: value1 + value2
Ternäre Operatoren Drei Operanden If-else-Bedingung: condition ? condition_true : condition_false

Operator-Vorrang

Wie bei den arithmetischen Operatoren in der Schule oder den Python-Operatoren gibt es auch bei C++-Operatoren einen sogenannten Operator-Vorrang oder eine Operator-Präzedenz. Auf diese Weise wird angegeben, in welcher Reihenfolge die Operatoren ausgewertet werden. Bei arithmetischen Operatoren gelten die bekannten Punkt-vor-Strich-Regeln. Doch auch bei anderen C++-Operatoren müssen Sie bestimmte Regeln beachten.

if (var1 && var2 || var3) {
	do_something();
}

Im obigen Beispiel wird zuerst der logische Ausdruck hinter dem if-Operator ausgewertet. Hier wiederum hat der &&-Operator (logisches Und) Vorrang vor dem ||-Operator (logisches Oder). Wenn also die Auswertung von „var1 && var2“ oder die Auswertung von „var3“ „true“ zurückliefert, wird der Funktionsaufruf von „do_something()“ ausgeführt.

Wenn Sie auf Nummer sicher gehen möchten, können Sie auch Klammern benutzen.

Überladen von C++-Operatoren

Die meisten C++-Operatoren können Sie überladen. Das bedeutet, dass Sie einem vorhandenen Operator in einem Kontext eine neue Bedeutung zuweisen können. Um eine Operatorüberladung in C++ durchzuführen, benötigen Sie das Schlüsselwort „operator“. Diesem stellen Sie den C++-Operator nach, den Sie überladen möchten. Ansonsten verhält sich die Operatorenüberladung in C++ wie die Überladung von Funktionen.

Tipp

Der Webspace kaufen bei IONOS von IONOS eignet sich hervorragend, um Ihre C++-Projekte online zu sichern. Der umfangreiche Webspeicher bietet Ihnen u. a. eine bequeme 1-Klick-Installation.

C++-Operatoren im Überblick

Arithmetische Operatoren

Die arithmetischen C++-Operatoren sind teilweise schon aus der Schule bekannt. Sie operieren auf Zahlen und liefern dann eine neue Zahl zurück. Bis auf zwei Ausnahmen (die unären Plus und Minus, die Sie sich als Vorzeichen vorstellen können) handelt es sich bei den arithmetischen Operatoren durchweg um binäre Operatoren.

C++-Operator Bedeutung Beispiel
+ Addition / unäres Plus 6 + 4
- Subtraktion / unäres Minus 10 - 6
* Multiplikation 10 * 3
/ Ganzzahldivision 20 / 10
% Modulo 21 % 2

Zuweisungsoperatoren

Werte werden in C++ wie in den meisten Programmiersprachen in Variablen gespeichert. Um solchen Variablen konkrete Werte zuzuweisen, benötigen Sie spezielle Operatoren.

Einfache Zuweisungsoperatoren

C++-Operator Bedeutung Beispiel
= Einfache Zuweisung x = 3
++ Inkrement x++
-- Dekrement x--

Kombinierte Zuweisungsoperatoren

Neben den einfachen Zuweisungsoperatoren unterstützt C++ auch kombinierte Operatoren. Hierbei handelt es sich um arithmetische oder bitweise Operationen, die zeitgleich mit einer Wertzuweisung verbunden werden:

int x = 4;
x += 2;

Im obigen Codebeispiel wird der Variable x mit einer einfachen Zuweisung der numerische Wert 4 zugewiesen. Im Anschluss wird der kombinierte Zuweisungsoperator „+=“ verwendet, um eine arithmetische Addition durchzuführen und den so entstehenden Wert direkt in x zu speichern. Ausgeschrieben sähe die Zuweisung wie folgt aus: „x = x + 2“.

C++-Operator Bedeutung Beispiel
+= Addition und Zuweisung x += 2
-= Subtraktion und Zuweisung x -= 2
*= Multiplikation und Zuweisung x *= 2
/= Division und Zuweisung x /= 2
%= Modulo und Zuweisung x %= 2
&= Bitweises Und und Zuweisung b &= 1
<<= Bitshift links und Zuweisung b <<= 1
>>= Bitshift rechts und Zuweisung b >>= 1
^= Bitweises Xor und Zuweisung b ^= 1
|= Bitweises Oder und Zuweisung b |= 1

Logische C++-Operatoren

Für aussagenlogische Vergleiche von zwei Ausdrücken können Sie die logischen C++-Operatoren benutzen. Bis auf das logische Nicht, das sich immer nur auf eine Aussage bezieht und deren Wahrheitswert negiert, sind logische Operatoren binär.

C++-Operator Bedeutung Beispiel
&& Logisches Und true && true
|| Logisches Oder false || true
! Logisches Nicht !true

Vergleichsoperatoren

Bei den Vergleichsoperatoren handelt es sich um C++-Operatoren, die die Beziehung von zwei Elementen untersuchen. Demnach sind sie binär. Bis auf den Drei-Wege-Vergleich, der eine Zahl zurückliefert, ist der Rückgabewert aller C++-Vergleichsoperatoren ein Wahrheitswert.

C++-Operator Bedeutung Beispiel
== Gleichheit a == b
!= Ungleichheit a != b
<= Kleiner oder gleich a <= b
>= Größer oder gleich a >= b
< Kleiner a < b
> Größer a > b
<=> Drei-Wege-Vergleich a <=> b

Bitmanipulation

Um effizient auf einzelne Bits zugreifen zu können und die Schnelligkeit von Programmen zu verbessern, gibt es bitweise C++-Operatoren. Sie sind vor allem für Performance-orientiertes Programmieren von Wichtigkeit.

C++-Operator Bedeutung Beispiel
& Bitweises Und a & b
| Bitweises Oder a | b
^ Bitweises Xor a ^ b
~ Bitweise Negation ~a
<< Linksverschiebung a << b
>> Rechtsverschiebung a >> b

Speicherverwaltung

C++ ist eine maschinennahe Sprache und bietet Ihnen nicht zuletzt daher eine Reihe von Operatoren an, die Ihnen bei der Speicherverwaltung behilflich sind.

C++-Operator Bedeutung Beispiel
& Adressermittlung &x
sizeof() Ermittelt den Speicherbedarf eines Ausdrucks sizeof(x)
New Erstellt ein neues Objekt und liefert Pointer zurück object* pointer = new object()
Delete Zerstört ein Objekt delete object

Datenzugriff bei Objekten und Pointern

Wenn Sie auf einzelne Member von Objekten oder auf die Speicherbereiche von Pointern zugreifen möchten, helfen Ihnen die folgenden C++-Operatoren.

C++-Operator Bedeutung Beispiel
* Dereferenzierung von Pointern, liefert Speicherbereich *pointer = 3;
. Zugriff auf Member eines Objekts object.member = 2;
-> Zugriff auf Member eines Objekts mit einem Pointer objectpointer->member = 2;