Videó: C++-ban malloc kell?
2024 Szerző: Lynn Donovan | [email protected]. Utoljára módosítva: 2023-12-15 23:48
te használat malloc amikor szükséged van olyan objektumok kiosztására kell az aktuális blokk végrehajtásának élettartamán túl léteznek (ahol egy visszamásolás lenne drága is legyen), vagy ha memóriát kell lefoglalnia nagyobb, mint a verem mérete (azaz: egy 3 MB-os helyi veremtömb rossz ötlet).
Illetve malloc kell C++-ban?
A különbség egyszerű: malloc lefoglalja a memóriát, míg a new lefoglalja a memóriát ÉS meghívja az objektum konstruktorát te memóriát foglal le. Szóval, hacsak nem te C-re korlátozódik, neked kellene soha ne használd malloc , különösen, ha foglalkozunk C++ tárgyakat.
Az is felmerülhet, hogy mi értelme a mallocnak? C-ben a könyvtári függvény malloc memóriablokk lefoglalására szolgál a kupacban. A program ehhez a memóriablokkhoz egy mutatón keresztül ér el, amely malloc visszatér. Amikor a memóriára már nincs szükség, a mutatót a szabaddá teszi át, amely felszabadítja a memóriát, hogy más célokra is felhasználható legyen.
Ilyen módon van malloc a C++-ban?
A malloc () funkció be C++ kiosztja a az inicializálatlan memória blokkja és visszatér a üres mutató az első bájtja az lefoglalt memóriablokk, ha az kiosztása sikerül. Ha az a méret nulla, az a visszaadott érték attól függ az végrehajtása az könyvtár. Azt lehet vagy nem a null mutató.
Hogyan lehet összerakni egy szerkezetet?
Ahhoz, amit akarsz, kettő kell malloc () s. struct Vektor *y = malloc (*y mérete); /* Jegyezzük meg a mutatót */ y->x = calloc(10, sizeof *y->x); Az első sorban lefoglalja a memóriát egy vektorobjektum számára. malloc () egy mutatót ad vissza a lefoglalt memóriára, tehát y-nak vektormutatónak kell lennie.