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.
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; |