pecunia Geschrieben 20. Juni 2006 Geschrieben 20. Juni 2006 Wer von Euch kann mir den Unterschied zwischen: for(int i=0;i<10;++i) und: for(int i=0;i<10;i++) erklären??? Vielen Dank!!! Zitieren
baba007 Geschrieben 20. Juni 2006 Geschrieben 20. Juni 2006 einmal rechnet man i for dem begin der schleife hoch, einmal danach sprich in den Berechnungen Fall 1: i == 1 einmal Fall 2: i == 0 Zitieren
pecunia Geschrieben 20. Juni 2006 Autor Geschrieben 20. Juni 2006 Danke... Hätte ich mir eigentlich denken können... Zitieren
Guybrush Threepwood Geschrieben 20. Juni 2006 Geschrieben 20. Juni 2006 Nein das ist falsch. Für diese Schleife macht es keinen Unterschied. Wenn du in beiden Schleifen i ausgeben würdest bekämst du bei beiden die selbe Ausgabe. Der Unterschied zeigt sich an anderer Stellen. Zum einen wäre bei folgendem Beispiel: int i=5,u; u=i++; [/PHP] u = 5 und i = 6. Er wird also der Wert von vor der Erhöhung zurückgegeben. Wenn es aber jetzt [PHP] int i=5,u; u=++i; heißen würde hätten beide Variablen den Wert 6. Es wird also erst erhöht und dann der Wert zurückgegeben. In deinem Beispiel oben ist es also egal wie rum du das schreibst. Interessant wäre es nur wenn i kein Integer sondern eine komplexe Klasse wäre, denn da müsste bei der i++ Variante intern zuerst eine temporäre Kopie von i angelegt werden. ++i wäre also perfomanter. Zitieren
Kratzy974 Geschrieben 22. Juni 2006 Geschrieben 22. Juni 2006 Eine Sache noch Es wird bei i++ mehr Speicheplatz benötigt, als bei ++i. Dies läßt sich gut mit der Implementation des operators darstellen : className operator ++() // ++i { // increace current object return *this; } className operator ++(int) // i++ { className newObj(*this); // increase current object return newObj; } [/PHP] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.