Mundarija:

Cda axlat yig'uvchi bormi?
Cda axlat yig'uvchi bormi?

Video: Cda axlat yig'uvchi bormi?

Video: Cda axlat yig'uvchi bormi?
Video: CDA 2024, Dekabr
Anonim

C qiladi emas bor avtomatik axlat yig'ish . Agar ob'ektni kuzatishni yo'qotsangiz, siz bor "xotiraning oqishi" deb ataladigan narsa. Xotira hali ham butun dasturga ajratiladi, lekin agar siz unga oxirgi ko'rsatgichni yo'qotgan bo'lsangiz, undan hech narsa foydalana olmaydi. Xotira resurslarini boshqarish asosiy talab hisoblanadi C dasturlari.

Buni hisobga olgan holda, C axlatlari yig'iladimi?

C++ ga a kerak emas axlat yig'uvchi , chunki unda yo'q axlat . Zamonaviy C++ da siz aqlli ko'rsatkichlardan foydalanasiz va shuning uchun yo'q axlat.

Bundan tashqari, axlat yig'uvchining roli qanday? Axlat yig'uvchilar uchun mas'uldirlar yig'ish va olib tashlash chiqindilar va keyinchalik qayta ishlash uchun qayta ishlanadigan materiallar. Oddiy ish vazifalar a ro'yxatiga kiritilgan Axlat yig'uvchi misol rezyume ishlamoqda chiqindilar belgilangan marshrut bo'ylab yig'ish vositalari, yig'ish rad etish va rahbarlarga xabar berish.

Shunday qilib, axlat yig'ish C nima?

Axlat yig'ish (GC) - foydalanilmagan xotira bloklari uchun avtomatik xotirani tiklashni ta'minlovchi mexanizm. Dasturchilar xotirani dinamik ravishda taqsimlaydilar, lekin blok endi kerak bo'lmaganda, uni bepul () chaqiruvi bilan tizimga qaytarish shart emas.

Axlat yig'uvchini qanday qilish kerak?

Axlat yig'uvchini amalga oshirishning eng oddiy usuli:

  1. Global ildizlarni jamlashingiz mumkinligiga ishonch hosil qiling.
  2. Uyumni bosib o'tishingiz mumkinligiga ishonch hosil qiling, masalan. to'pdagi har bir qiymat ushbu ob'ektdan barcha havolalarni qaytaradigan Visit usulini qo'llaydigan ob'ektdir.
  3. Barcha ajratilgan qiymatlar to'plamini saqlang.

Tavsiya: