Mi a különbség a for és a foreach között?
#12: Nézd, azzal semmi probléma nincs, ha valaki hibázik. Viszont azzal van gond, amit Te csinálsz. Amit írtál, annak semmi információtartalma nincsen, pusztán egy kötekedés. Ha valamivel nem értesz egyet, akkor érvelj az igazad mellett, és javíts ki. El fogom fogadni.
Ehelyett csak bomlasztod a közösséget, amivel azt sikerült elérned, hogy itt már szinte mindenki utál téged.
Igen, engem itt azok nem "szeretnek" /bár erre nekem olyan túlzott igényem nincs is/ akik rendre hülyeségeket irkálnak.
De ha már megkértél, elmondom a valóságot:
A FOR ciklus egy számlálós ciklus. Akkor alkalmazzuk, ha PONTOSAN TUDJUK, hogy a ciklusmag hányszor fog lefutnik. Itt tehát olyannak, hogy feltétel, helye nincs. A FOR ciklus magja n-szer fog lefutni és kész. Az iteráció darabszámát futásidőben már semmivel NEM LEHET befolyásolni.
A FOREACH ciklus a FOR ciklus kényelmi változata. A használatához kell egy olyan adatszerkezet, amelynek elemszáma megszámlálható. Ez jobbára egy tömb, egy vektor.
Az előnye annyi /a FOR-hoz képest/, hogy nem kell tudni a tömb aktuális elemszámát, az lehet dinamikus is, a FOREACH végig fog futni minden tömbelemen az elsőtől az utolsóig.
Tehát nem kell nyilvántartani, hogy a-tól z-ig, azután ha csonkolva lett a tömb akkor a-tól f-ig, mert a FOREACH végigteker az aktuális tömb vagy rekord egészén, annak darabszámától függetlenül.
"Az iteráció darabszámát futásidőben már semmivel NEM LEHET befolyásolni."
De lehet. :)
"Akkor alkalmazzuk, ha PONTOSAN TUDJUK, hogy a ciklusmag hányszor fog lefutnik." "A FOR ciklus magja n-szer fog lefutni és kész."
Tévedés, ellenpélda: for(;;) { ... }
"Az iteráció darabszámát futásidőben már semmivel NEM LEHET befolyásolni."
Tévedés, ellenpélda: for(int i = 0; i < n && !found; ++i) { ... }
"Itt tehát olyannak, hogy feltétel, helye nincs."
Tévedés: C++ nyelvben a for ciklusnak van olyan eleme, hogy condition. A condition pedig egy feltétel. Forrás: cppreference és szótár ha nem hiszed el.
"A használatához kell egy olyan adatszerkezet, amelynek elemszáma megszámlálható. Ez jobbára egy tömb, egy vektor."
Megszámlálható? Matematikai értelemben? Mert ha igen, akkor mind olyan.
Itt is tévedsz, ellenpélda: Java-ban csinálok egy osztályt, ami hálózatról fogad adatokat, és implementálom az iterable interface-t úgy, hogy egy olyan iteratort-t ad vissza, ahol a next() blokkol amíg az adat meg nem érkezik.
Már értem miért nem mertél kommentelni.
"Már értem miért nem mertél kommentelni."
Te még azt sem érted, amit kéne, ahogy olvasom.
Kapsz egy mattot, erre felrúgod a táblát és őrjöngsz, hogy Te nyertél? :D
#19: én a szakmában dolgozok, és elmondása szerint #14 is, aki több kérdésben tett válasza alapján 20 éves technológiákkal foglalkozik, és remeg a keze, hogy elküldik egy tehetséges fiatal miatt. Lehet már meg is történt, ezért annyira keserű szegény.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!