Hogyan lehetne ezt c++-ban leprogramozni?
Készítsen programot, amely bekér két számot, majd növekvő sorrendben kiírja azokat.
addig megvan hogy bekérek egy a és egy b számot csak utána hogy kell?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
"Az idézetek pedig nem arról szólnak, hogy a C++ C alapokon nyugodna, annak kiterjesztése lenne. "
Talán átcsúszott a szemed a "it was an extension of C" részen. És hogy nem vettek ki funkciót. Mindkettő ezt támasztja alá. Pl. a C#/Java na az nem összehozható a C-vel. Ott csak néhány foglalt szó megegyezik.
A memória-kezelésbe belekötni elég gyenge, a C++-ban az STL-ben a default allocator-ok is malloc-ot használnak meg free-t. Pontosan azért mert nem inicializált része van pl. a vector-nak. Nem akarnak konstruktort hívni amíg lehet. A new/delete és a malloc/free másként működik (konstruktor/destruktor hívás nincs a malloc-nál és a free-nél), de igenis vegyesen használják C++-ban, mert a hatékonyság az elsődleges szempont.
Miért lenne override-olható egy darab memóriát visszadó függvény? Komolyan az elvárást nem értem.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
> Miért lenne override-olható egy darab memóriát visszadó függvény? Komolyan az elvárást nem értem.
A legegyszerűbb példa rá, egy memory leak detector. Ezt a legtöbb debugger használja is; memória foglaláskor egy jól észrevehető mintával tölti ki a lefoglalt helyet (pl 0xBAADF00D), a végén pedig pár byte-ot "no-mans land" mintával, utalva arra, hogy oda nem lenne szabad írni.
Komolyabb példa; Egyszer beágyazott rendszeren egy szolgaáltatás szerű alkalmazást fejlesztettünk aminek nagy memória igénye volt, azonban a eszköz RAM mérete 512 MB volt csak. A foglalás mindig blokk szerű volt, és élettartamuk pedig rövid, így kézenfekvő volt egy memory pooling alrendszert írni hozzá. Annak érdekében hogy ne kelljen mindenhol átírni (de inkább azért, hogy mindenki ezt használja továbbra is) felülírtuk a new-t. Így meleg üzemnél az esetek 98%-ban már nem kellett memóriát foglalnunk. Később kapott a cucc egy swap-ot (sd kártya), amit hasonló képpen kezeltünk.
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!