KI JLI Master

Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 05.01.2005, 20:37 Titel: [ISO-C++] ++i oder i++? Wo ist der unterschied? |
|
|
Frage: Gibt es einen unterschied zwischen ++i und i++?
Interessanterweise haben die Inkrementatoren einen Rückgabewert.
Wenn man nun folgendes schreibt:
Hat am Ende i den Wert 10.
Nun kann man auch schreiben:
Und es ergibt das selbe Ergebnis.
Der Ausdruck ++i bewirkt, dass i inkrementiert wird und dass danach der neue Wert von i als Wert des ganzen Ausdrucks zurückgegeben wird.
Zum Vergleich:
CPP: | int i = 9;
int x = ++i;
|
Hier hat X den Wert 10
und hier hat X den Wert 9:
CPP: | int i = 9;
int x = i++;
|
Nun stellt sich die Frage was sollte man in Schleifen benutzen und was im Normalen?
Bei Schleifen ist es Furz wie Deckel ob man ++i oder i++ benutzt! Im Allgemeinen sollte man jedoch allein schon wegen der inkrementierung immer ++i benutzen! Zwar gibt es noch andere Gründe aber dies ist einer der Hauptfaktoren
Nachtrag (David):
- Bei ++i wird eine Referenz auf das Originalobjekt zurückgegeben.
- Bei i++ wird eine Kopie von i zurückgegeben. Bei atomaren Datentypen fällt sowas nicht ins Gewicht. Bei größeren Datentypen gibt es aber "minimale" Unterschiede.
- Patrick |
|