Vai jums ir nepieciešams malloc programmā C++?
Vai jums ir nepieciešams malloc programmā C++?

Video: Vai jums ir nepieciešams malloc programmā C++?

Video: Vai jums ir nepieciešams malloc programmā C++?
Video: speller 2024, Novembris
Anonim

Tu izmantot malloc kad tev vajag piešķirt objektus, kas obligāti pastāv pēc pašreizējā bloka izpildes laika (kur ir kopēšana-atgriešanās būtu būt arī dārgam), vai ja jums ir jāpiešķir atmiņa lielāks par šīs steka lielumu (ti, 3 MB lokālais steku masīvs ir slikta ideja).

Turklāt, vai jums ir nepieciešams malloc C++?

Atšķirība ir vienkārša: malloc piešķir atmiņu, savukārt new piešķir atmiņu UN izsauc objekta konstruktoru tu tiek piešķirta atmiņa. Tātad, ja vien tu ir tikai C, jums vajadzētu nekad neizmantot malloc , it īpaši, ja ir darīšana ar C++ objektus.

Var arī jautāt, kāda jēga no malloc? C valodā bibliotēkas funkcija malloc tiek izmantots, lai kaudzītē piešķirtu atmiņas bloku. Programma piekļūst šim atmiņas blokam, izmantojot rādītāju, kas malloc atgriežas. Kad atmiņa vairs nav nepieciešama, rādītājs tiek pārsūtīts uz brīvu, kas atdala atmiņu, lai to varētu izmantot citiem mērķiem.

Vai šādā veidā C++ ir malloc?

Malloc () funkcija iekšā C++ piešķir a uninicializētas atmiņas bloks un atgriež a tukšs rādītājs uz pirmais baits no uz piešķirtais atmiņas bloks, ja uz sadale izdodas. Ja uz izmērs ir nulle, uz atgrieztā vērtība ir atkarīga no uz īstenošana uz bibliotēka. Tas var būt, var nebūt a nulles rādītājs.

Kā izveidot struktūru?

Tam, ko vēlaties, jums ir nepieciešami divi malloc () s. struktūra Vektors *y = malloc (*y izmērs); /* Ievērojiet rādītāju */ y->x = calloc(10, sizeof *y->x); Pirmajā rindā jūs piešķirat atmiņu Vector objektam. malloc () atgriež rādītāju uz piešķirto atmiņu, tāpēc y ir jābūt vektora rādītājam.