Elementare Syntax von C++: Weitere Operatoren

Einige einfache arithmetische Operationen können in C++ in einer Kurzform geschrieben werden (Inkrement-Operator, Dekrement-Operator, Kurzform-Operatoren). Wenn möglich sollen diese auch eingesetzt werden, da sie schneller ausgeführt werden als die entsprechenden Befehle in der ausführlichen Schreibweise.

Einordnung des Artikels

Inkrement- und Dekrement-Operator

Beim Programmieren werden oft Zählvariablen eingesetzt, die bei jedem Rechenschritt um eins erhöht oder erniedrigt werden. Um nicht jedesmal

i = i + 1

schreiben zu müssen, gibt es den sogenannten Inkrement-Operator, der dies abkürzt. Allerdings gibt es ihn in zwei Varianten, als nachfolgende Inkrementierung (postfix increment) und als vorherige Inkrementierung (prefix increment).

Die nachfolgende Inkrementierung wird geschrieben als

i++     // postfix increment

was heißen soll: i wird verwendet und anschließend um 1 erhöht.

Steht dagegen ++ vor der Variable, wird die Variable zuerst erhöht und dann verwendet.

++i     // prefix increment

Das folgende Beispiel zeigt den Unterschied:

short i = 10;
cout << "i = " << i++ << endl;      // i = 10
cout << "i = " << i << endl;        // i = 11

i = 10;
cout << "i = " << ++i << endl;      // i = 11
cout << "i = " << i << endl;        // i = 11
cout << "i = " << ++i << endl;      // i = 12

Der Dekrement-Operator erniedrigt entsprechend eine Variable um eins, er wird mit dem doppelten Minuszeichen geschrieben:

i--     // postfix decrement: i wird verwendet und dann um 1 erniedrigt
--i     // prefix decrement: i wird um 1 erniedrigt und dann verwendet

Das entsprechende Beispiel zu oben:

short i = 10;
cout << "i = " << i-- << endl;      // i = 10
cout << "i = " << i << endl;        // i = 9

i = 10;
cout << "i = " << --i << endl;      // i = 9
cout << "i = " << i << endl;        // i = 9
cout << "i = " << --i << endl;      // i = 8

Tip:

Verwenden Sie Inkrement- und Dekrement-Operator niemals in verschachtelten Anweisungen — sie führen nur zu Verwirrung. Ebenso sollte man die Operatoren nicht in direkt aufeinanderfolgenden Anweisungen für eine Variable verwenden.

Kurzform-Operatoren

Neben den Inkrement- und Dekrement-Operatoren kommen häufig Zuweisungen der folgenden Art in Programmen vor:

x = x + 5;
x = 2 * x;
x = x - 10;
x = x / 2;
x = x % 2;

Auch hierfür gibt es Kurzschreibweisen:

x += 5;
x *= 2;
x -= 10;
x /= 2:
x %= 2;

Die Operatoren wie += werden Kurzform-Operatoren oder zusammengesetzte Operatoren (arithmetic assignment operator) bezeichnet; ihnen gemeinsam ist, dass sie eine arithmetische Operation mit einer Zuweisung kombinieren.

Tip:

Wenn möglich, sollten Sie die Kurzform-Operatoren einsetzen; sie sind zwar schwerer zu lesen (als die ausführliche Form) aber in der Ausführung etwas schneller.

Alle Kommentare
Durch die Nutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Außerdem werden teilweise auch Cookies von Diensten Dritter gesetzt. Genauere Informationen finden Sie in unserer Datenschutzerklärung sowie im Impressum.