Potrebujete malloc v C++?
Potrebujete malloc v C++?

Video: Potrebujete malloc v C++?

Video: Potrebujete malloc v C++?
Video: ЖАҢА КІТАП Мылтық тапты! БІРІНШІ БАСТАУЫШ RID – Жердегі соңғы күн: аман қалу 2024, Smieť
Anonim

vy použitie malloc kedy potrebuješ prideľovať predmety, ktoré musieť existujú aj po uplynutí doby trvania vykonávania aktuálneho bloku (kde je kopírovanie pri vrátení by byť tiež drahé), alebo ak musíte alokovať pamäť väčšia ako veľkosť tohto zásobníka (tj: 3 MB lokálne pole zásobníka je zlý nápad).

Tiež potrebujete malloc v C++?

Rozdiel je jednoduchý: malloc alokuje pamäť, zatiaľ čo new alokuje pamäť AND volá konštruktor objektu vy prideľuje pamäť pre. Teda pokiaľ vy sú obmedzené na C, Mal by si nikdy nepoužívajte malloc , najmä pri riešení C++ predmety.

Niekto sa tiež môže opýtať, aký zmysel má malloc? V C funkcia knižnice malloc sa používa na pridelenie bloku pamäte na halde. Program pristupuje k tomuto bloku pamäte cez ukazovateľ, ktorý malloc sa vracia. Keď už pamäť nie je potrebná, ukazovateľ sa odovzdá na voľné, čím sa pamäť uvoľní, aby sa dala použiť na iné účely.

Existuje týmto spôsobom malloc v C++?

Malloc () funkcia v C++ prideľuje a blok neinicializovanej pamäte a vráti sa a void ukazovateľ na a prvý bajt z a alokovaný pamäťový blok ak a pridelenie uspeje. Ak a veľkosť je nula, a vrátená hodnota závisí od a implementácia a knižnica. to môže a nemusí byť a nulový ukazovateľ.

Ako sa dá nájsť štruktúra?

Na to, čo chcete, potrebujete dvoch malloc () s. štrukturovať Vektor *y = malloc (veľkosť *y); /* Všimnite si ukazovateľ */ y->x = calloc(10, sizeof *y->x); V prvom riadku alokujete pamäť pre vektorový objekt. malloc () vracia ukazovateľ na pridelenú pamäť, takže y musí byť vektorový ukazovateľ.