Kas teil on vaja mallocit C++-s?
Kas teil on vaja mallocit C++-s?

Video: Kas teil on vaja mallocit C++-s?

Video: Kas teil on vaja mallocit C++-s?
Video: AL044 - KAS:ST - VTOPIA (Official video) 2024, Mai
Anonim

Sina kasutada malloc millal sa vajad objektide eraldamiseks, mis peab eksisteerivad pärast praeguse ploki täitmise eluiga (kus on kopeerimine-tagastamise korral oleks olla ka kallis) või kui peate eraldama mälu suurem kui selle pinu suurus (st: 3 MB kohalik pinu massiiv on halb mõte).

Lisaks, kas teil on vaja mallocit C++-s?

Erinevus on lihtne: malloc eraldab mälu, samas kui new eraldab mälu JA kutsub välja objekti konstruktori sina jaoks mälu eraldamine. Seega, kui just sina on piiratud C-ga, sa peaksid mitte kunagi kasutada malloc , eriti kui tegemist on C++ objektid.

Võib ka küsida, mis on malloci mõte? C-s on raamatukogu funktsioon malloc kasutatakse kuhja mäluploki eraldamiseks. Programm pääseb sellele mäluplokile juurde kursori kaudu, mis malloc naaseb. Kui mälu pole enam vaja, suunatakse kursor vabaks, mis eraldab mälu, et seda saaks kasutada muudel eesmärkidel.

Kas sel viisil on C++-s malloc?

Malloc () funktsiooni sisse C++ eraldab a initsialiseerimata mäluplokk ja tagastab a tühine osuti a esimene bait a eraldatud mäluplokk, kui a eraldamine õnnestub. Kui a suurus on null, a tagastatav väärtus sõltub a rakendamine a raamatukogu. See võib olla või mitte a null osuti.

Kuidas struktuuri ümber paigutada?

Selleks, mida soovite, vajate kahte malloc () s. struktuur Vektor *y = malloc (suurus *y); /* Pange tähele kursorit */ y->x = calloc(10, *y->x suurus); Esimesel real eraldate vektorobjekti jaoks mälu. malloc () tagastab kursori eraldatud mällu, seega peab y olema vektorosuti.