C++-da malloc lazımdırmı?
C++-da malloc lazımdırmı?

Video: C++-da malloc lazımdırmı?

Video: C++-da malloc lazımdırmı?
Video: Dynamic Memory Allocation using malloc() 2024, Bilər
Anonim

Sən istifadə edin malloc nə vaxt lazımdır obyektləri ayırmaq lazımdır cari blokun icra müddətindən kənarda mövcuddur (burada surəti geri qaytarılır olardı həm də bahalı olsun) və ya əgər yaddaş ayırmaq lazımdır həmin yığının ölçüsündən böyükdür (yəni: 3mb yerli yığın massivi pis fikirdir).

Həmçinin, C++-da malloc lazımdırmı?

Fərq sadədir: malloc yaddaş ayırır, new isə yaddaşı ayırır VƏ obyektin konstruktorunu çağırır Sən üçün yaddaş ayırırıq. Deməli, istisna olmaqla Sən 'C ilə məhdudlaşır, etməlisən heç vaxt istifadə etmə malloc , xüsusilə ilə məşğul olduqda C++ obyektlər.

Bir də soruşa bilər ki, mallocun nə mənası var? C dilində kitabxana funksiyası malloc yaddaş blokunu yığına ayırmaq üçün istifadə olunur. Proqram bu yaddaş blokuna bir göstərici vasitəsilə daxil olur malloc qayıdır. Yaddaşa ehtiyac qalmadıqda, göstərici boş yerə ötürülür, bu da yaddaşı boşaldır ki, başqa məqsədlər üçün istifadə olunsun.

Bu şəkildə, C++-da malloc varmı?

Malloc () funksiyası C++ ayırır a başlamamış yaddaş bloku və qaytarılır a üçün göstəricini ləğv edin the birinci bayt the ayrılmış yaddaş bloku əgər the bölüşdürülməsi uğur qazanır. Əgər the ölçüsü sıfırdır, the qaytarılan dəyərdən asılıdır the həyata keçirilməsi the kitabxana. O ola bilər, olmaya da bilər a null göstərici.

Bir strukturu necə mallok edirsiniz?

İstədiyiniz şey üçün iki lazımdır malloc () s. struktur Vektor *y = malloc (ölçüsü *y); /* Göstəriciyə diqqət yetirin */ y->x = calloc(10, sizeof *y->x); Birinci sətirdə siz Vector obyekti üçün yaddaş ayırırsınız. malloc () ayrılmış yaddaşa göstərici qaytarır, ona görə də y Vektor göstəricisi olmalıdır.