[Java lista] for: ++i vagy i++
biziclop
biziclop at gmail.com
2009. Feb. 9., H, 12:25:01 CET
> Egyébként:
>
> int i = -1;
> while (i < n - 1) {
> i++;
> // do your stuff here
> }
>
> végső soron megegyezik a for ciklussal:
>
> for (int i = 0; i < n; i++) {
> // do your stuff here
> }
>
> A bájtkód mégsem lehet ugyanaz, mert az első esetben az i értéke a ciklus után is látszik, míg a másik esetén nem. Ez akkor is így van, ha az i változó "cikluselhagyó" értékét nem használom. Viszont ezt az okos optimalizáló észreveheti, és máris lehetne ugyanaz a bájtkód. Ehhez persze az is kell, hogy észrevegye, hogy a legelső utasítás az i++, és i értékét előtte nem használom.
Tehat a bytekod nem lehet ugyanaz, de megis lehet ugyanaz. Ertem.
Logikus.
lsp
További információk a(z) Javalist levelezőlistáról