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
- Einführung in die Informatik
- Einführung in C++
- Elementare Syntax von C++: Weitere Operatoren
- Einführung in C++
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.