A C++-ban a sizeof() operátor-t mikor érdemes használni?
"Van valamilyen gyakorlati haszna, amikor nem csupán egy változó méretére vagyunk kíváncsiak, hanem egy konkrét program kódjában olyan szerepe van, ami befolyásolja a program futását?"
Mert az, hogy tudjuk egy változó méretét, nem befolyásolhatja?
Kicsit meredek lesz, de próbálom érthetően. Tehát tegyük fel hogy vagy nagyon nagy adathalmazzal dolgozó programod van, vagy szűkös a hardver amin futsz, például egy microcontroller néhány kbyte rammal. Valamint tegyük fel hogy folyamatosan érkező input adatokat dolgozol fel, és van egy szép nagy adatstruktúrád, amiben a hőmérséklettől kezdve a ház előtt elhaladó autók szinéig mindent is tárolsz.
Döntened kell a programból, hogy mikor legyenek háttértárra irva az összegyűjtött adatok. Erre van sokféle stratégia. Legegyszerubb például hogy azonnal. De ez rossz tárkihasználtsághoz vezethet. Vagy mondjuk 10 adatonként. De mi van, ha nem biztos hogy elfér a 10 adat egyszerre a memóriában. (itt most a 10 csak példa, gondolj 100at vagy 1000et vagy akarmennyit nyugodtan)
Ilyen esetben lehet egy olyan stratégiát megvalositani, hogy lekedezed a szabad ram (heap) méretet meg a tipusod méretét. Aztán ha már egy ujabb nem fog elérni, akkor ideje kiirni az adatokat. Ha meg elfér, akkor is dönthetsz úgy hogy a tömbben tárolt adatok mérete már túl nagy, és hiába hogy elfér a memóriában, de ideje lenne kiirni. Például azért, hogy egy esetleges áramszünet után is legyen azért mentett adat.
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!