[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