Melyik jobb, \n vagy endl?
flush nélkül nem is kerül a memóriába az adat?
A \n egy bájtot foglal, ez lassíthat programot?
"flush nélkül nem is kerül a memóriába az adat?"
Dehogynem, csak az eszközre nem kerül ki rögtön. Adott esetben nem is kell neki, ez a bufferelés lényege.
"A \n egy bájtot foglal, ez lassíthat programot?"
Mihez képest? Ha kell soremelés, akkor úgysem úszod meg.
Ha nem kerül ki rögtön az adat, akkor a pufferelés bizonyos esetben gyorsíthatja is a programot, vagy ez csak a megjelenítésben nyilvánul meg?
"Mihez képest?"
Ahhoz képest, mintha ugyanazon szöveget sortörés nélkül írnánk.
"a pufferelés bizonyos esetben gyorsíthatja is a programot"
Igen, mivel a ki-beviteli eszközök általában lassabbak, mint a RAM. (Ez nem konkrétan a helyi konzolra vonatkozik, hanem általánosan.)
Ha rövidebb az átvinni kívánt bájtsorozat, akkor persze gyorsabban megtörténik az átvitel. Ezt külön meg kell nézni, hogy számít-e egyáltalán az a plusz egy bájt. (Beágyazott rendszereknél elképzelhető, PC progiknál nem annyira, esetleg nagyon extrém esetben.)
"vagy ez csak a megjelenítésben nyilvánul meg"
Pl. konzolon igen, lehet különbség, ha nagy mennyiségű adatot írsz ki. Ezt a rendszer határozza meg, hogy milyen időközönként üríti a buffert. 'endl' esetben pl. soronként fogja, \n esetén pedig rendszerbeállítás-függő.
** "'endl' esetben pl. soronként fogja"
Inkább úgy mondom, hogy soronként biztosan, de lehet, hogy hamarabb.
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!