Egal, ob Sie C++ lernen oder schon lange mit der Pro­gram­mier­spra­che arbeiten: C++-Ope­ra­to­ren sind die Grundlage für eine ef­fi­zi­en­te Pro­gram­mie­rung mit C++. Einige Ope­ra­to­ren ent­spre­chen ihrer in­tui­ti­ven Bedeutung, andere hingegen er­schlie­ßen sich viel­leicht nicht auf den ersten Blick.

Was sind C++-Ope­ra­to­ren?

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 arith­me­ti­schen Ope­ra­to­ren, die man aus der Schule kennt, bei­spiels­wei­se „+“ für die Addition und „-“ für die Sub­trak­ti­on zweier Zahlen.

Man un­ter­schei­det die C++-Ope­ra­to­ren nicht nur nach ihrem Funk­ti­ons­zweck. Auch die Stel­lig­keit oder Arität der Ope­ra­to­ren ist ein wichtiges Un­ter­schei­dungs­kri­te­ri­um:

Stel­lig­keit Anzahl Operanden Beispiel
Unäre Ope­ra­to­ren Ein Operand Logische Negation: !var_name
Binäre Ope­ra­to­ren Zwei Operanden Addition: value1 + value2
Ternäre Ope­ra­to­ren Drei Operanden If-else-Bedingung: condition ? condition_true : condition_false

Operator-Vorrang

Wie bei den arith­me­ti­schen Ope­ra­to­ren in der Schule oder den Python-Ope­ra­to­ren gibt es auch bei C++-Ope­ra­to­ren einen so­ge­nann­ten Operator-Vorrang oder eine Operator-Präzedenz. Auf diese Weise wird angegeben, in welcher Rei­hen­fol­ge die Ope­ra­to­ren aus­ge­wer­tet werden. Bei arith­me­ti­schen Ope­ra­to­ren gelten die bekannten Punkt-vor-Strich-Regeln. Doch auch bei anderen C++-Ope­ra­to­ren müssen Sie bestimmte Regeln beachten.

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

Im obigen Beispiel wird zuerst der logische Ausdruck hinter dem if-Operator aus­ge­wer­tet. Hier wiederum hat der &&-Operator (logisches Und) Vorrang vor dem ||-Operator (logisches Oder). Wenn also die Aus­wer­tung von „var1 && var2“ oder die Aus­wer­tung von „var3“ „true“ zu­rück­lie­fert, wird der Funk­ti­ons­auf­ruf von „do_something()“ aus­ge­führt.

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

Überladen von C++-Ope­ra­to­ren

Die meisten C++-Ope­ra­to­ren können Sie überladen. Das bedeutet, dass Sie einem vor­han­de­nen Operator in einem Kontext eine neue Bedeutung zuweisen können. Um eine Ope­ra­tor­über­la­dung in C++ durch­zu­füh­ren, benötigen Sie das Schlüs­sel­wort „operator“. Diesem stellen Sie den C++-Operator nach, den Sie überladen möchten. Ansonsten verhält sich die Ope­ra­toren­über­la­dung in C++ wie die Über­la­dung von Funk­tio­nen.

Tipp

Der Webspace kaufen bei IONOS von IONOS eignet sich her­vor­ra­gend, um Ihre C++-Projekte online zu sichern. Der um­fang­rei­che Web­s­pei­cher bietet Ihnen u. a. eine bequeme 1-Klick-In­stal­la­ti­on.

C++-Ope­ra­to­ren im Überblick

Arith­me­ti­sche Ope­ra­to­ren

Die arith­me­ti­schen C++-Ope­ra­to­ren 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 Vor­zei­chen vor­stel­len können) handelt es sich bei den arith­me­ti­schen Ope­ra­to­ren durchweg um binäre Ope­ra­to­ren.

C++-Operator Bedeutung Beispiel
+ Addition / unäres Plus 6 + 4
- Sub­trak­ti­on / unäres Minus 10 - 6
* Mul­ti­pli­ka­ti­on 10 * 3
/ Ganz­zahl­di­vi­si­on 20 / 10
% Modulo 21 % 2

Zu­wei­sungs­ope­ra­to­ren

Werte werden in C++ wie in den meisten Pro­gram­mier­spra­chen in Variablen ge­spei­chert. Um solchen Variablen konkrete Werte zu­zu­wei­sen, benötigen Sie spezielle Ope­ra­to­ren.

Einfache Zu­wei­sungs­ope­ra­to­ren

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

Kom­bi­nier­te Zu­wei­sungs­ope­ra­to­ren

Neben den einfachen Zu­wei­sungs­ope­ra­to­ren un­ter­stützt C++ auch kom­bi­nier­te Ope­ra­to­ren. Hierbei handelt es sich um arith­me­ti­sche oder bitweise Ope­ra­tio­nen, die zeit­gleich mit einer Wert­zu­wei­sung verbunden werden:

int x = 4;
x += 2;

Im obigen Code­bei­spiel wird der Variable x mit einer einfachen Zuweisung der nu­me­ri­sche Wert 4 zu­ge­wie­sen. Im Anschluss wird der kom­bi­nier­te Zu­wei­sungs­ope­ra­tor „+=“ verwendet, um eine arith­me­ti­sche Addition durch­zu­füh­ren und den so ent­ste­hen­den Wert direkt in x zu speichern. Aus­ge­schrie­ben sähe die Zuweisung wie folgt aus: „x = x + 2“.

C++-Operator Bedeutung Beispiel
+= Addition und Zuweisung x += 2
-= Sub­trak­ti­on und Zuweisung x -= 2
*= Mul­ti­pli­ka­ti­on 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++-Ope­ra­to­ren

Für aus­sa­gen­lo­gi­sche Ver­glei­che von zwei Aus­drü­cken können Sie die logischen C++-Ope­ra­to­ren benutzen. Bis auf das logische Nicht, das sich immer nur auf eine Aussage bezieht und deren Wahr­heits­wert negiert, sind logische Ope­ra­to­ren binär.

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

Ver­gleichs­ope­ra­to­ren

Bei den Ver­gleichs­ope­ra­to­ren handelt es sich um C++-Ope­ra­to­ren, die die Beziehung von zwei Elementen un­ter­su­chen. Demnach sind sie binär. Bis auf den Drei-Wege-Vergleich, der eine Zahl zu­rück­lie­fert, ist der Rück­ga­be­wert aller C++-Ver­gleichs­ope­ra­to­ren ein Wahr­heits­wert.

C++-Operator Bedeutung Beispiel
== Gleich­heit a == b
!= Un­gleich­heit 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

Bit­ma­ni­pu­la­ti­on

Um effizient auf einzelne Bits zugreifen zu können und die Schnel­lig­keit von Pro­gram­men zu ver­bes­sern, gibt es bitweise C++-Ope­ra­to­ren. Sie sind vor allem für Per­for­mance-ori­en­tier­tes Pro­gram­mie­ren von Wich­tig­keit.

C++-Operator Bedeutung Beispiel
& Bitweises Und a & b
| Bitweises Oder a | b
^ Bitweises Xor a ^ b
~ Bitweise Negation ~a
<< Links­ver­schie­bung a << b
>> Rechts­ver­schie­bung a >> b

Spei­cher­ver­wal­tung

C++ ist eine ma­schi­nen­na­he Sprache und bietet Ihnen nicht zuletzt daher eine Reihe von Ope­ra­to­ren an, die Ihnen bei der Spei­cher­ver­wal­tung be­hilf­lich sind.

C++-Operator Bedeutung Beispiel
& Adress­ermitt­lung &x
sizeof() Ermittelt den Spei­cher­be­darf 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

Da­ten­zu­griff bei Objekten und Pointern

Wenn Sie auf einzelne Member von Objekten oder auf die Spei­cher­be­rei­che von Pointern zugreifen möchten, helfen Ihnen die folgenden C++-Ope­ra­to­ren.

C++-Operator Bedeutung Beispiel
* De­re­fe­ren­zie­rung von Pointern, liefert Spei­cher­be­reich *pointer = 3;
. Zugriff auf Member eines Objekts object.member = 2;
-> Zugriff auf Member eines Objekts mit einem Pointer ob­ject­poin­ter->member = 2;
Zum Hauptmenü