Мазмуну:

C таштанды жыйноочу барбы?
C таштанды жыйноочу барбы?

Video: C таштанды жыйноочу барбы?

Video: C таштанды жыйноочу барбы?
Video: Түш жоруу китебинен. ТҮШ СЫРЛАРЫ. 📚 П, С, Т, У, тамгаларынан 2024, Май
Anonim

C кылат жок бар автоматтык таштанды чогултуу . Эгер объекттин изин жоготуп алсаңыз, сиз бар "эс тутумдун агып кетиши" деп аталат. Эс тутум дагы эле бүтүндөй программага бөлүнөт, бирок ага акыркы көрсөткүчтү жоготуп алган болсоңуз, аны эч нерсе пайдалана албайт. Эстутум ресурстарын башкаруу боюнча негизги талап болуп саналат C программалар.

Муну эске алып, C таштанды чогултулганбы?

C++ а кереги жок таштанды жыйноочу , анткени ал жок таштанды . Заманбап C++ тилинде сиз акылдуу көрсөткүчтөрдү колдоносуз, демек, жок таштанды.

Ошондой эле, таштанды жыйноочунун ролу кандай? Таштанды жыйноочулар үчүн жооптуу чогултуу жана алып салуу таштанды жана андан ары кайра иштетүү үчүн кайра иштетилүүчү материалдар. Типтүү жумуш милдеттери а тизмеленген Таштанды жыйноочу мисал резюме иштеп жатат таштанды Белгиленген маршрут боюнча жыйноочу унаалар, чогултуу баш тартуу жана жетекчилерге билдирүү.

Ошентип, C таштанды чогултуу деген эмне?

Таштанды чогултуу (GC) пайдаланылбаган эстутум блоктору үчүн эстутумду автоматтык түрдө калыбына келтирүүнү камсыз кылган механизм. Программисттер эстутумду динамикалык түрдө бөлүштүрүшөт, бирок блоктун кереги жок болгондо, алар аны ачык түрдө бекер() чалуу менен системага кайтаруунун кереги жок.

Кантип таштанды жыйноочу жасайсыз?

Таштанды жыйноочуну ишке ашыруунун эң жөнөкөй жолу:

  1. Глобалдык тамырларды чогулта аларыңызды текшериңиз.
  2. Үймөктү басып өтөөрүңүздү текшериңиз, мис. үймөктөгү ар бир маани ошол объекттен бардык шилтемелерди кайтарган Visit ыкмасын ишке ашырган объект болуп саналат.
  3. Бардык бөлүнгөн маанилердин топтомун сактаңыз.

Сунушталууда: