Სარჩევი:

C-ს აქვს ნაგვის შემგროვებელი?
C-ს აქვს ნაგვის შემგროვებელი?

ვიდეო: C-ს აქვს ნაგვის შემგროვებელი?

ვიდეო: C-ს აქვს ნაგვის შემგროვებელი?
ვიდეო: Is there Garbage Collection in C and C++? 2024, ნოემბერი
Anonim

C აკეთებს არა აქვს ავტომატური ნაგვის შეგროვება . თუ ობიექტის კვალს დაკარგავთ, თქვენ აქვს რაც ცნობილია როგორც "მეხსიერების გაჟონვა". მეხსიერება კვლავ გადანაწილდება პროგრამაზე, როგორც მთლიანობაში, მაგრამ ვერაფერი გამოიყენებს მას, თუ დაკარგავთ მის ბოლო მაჩვენებელს. მეხსიერების რესურსების მართვა არის მთავარი მოთხოვნა C პროგრამები.

ამის გათვალისწინებით, გროვდება თუ არა C ნაგავი?

C++-ს არ სჭირდება a მენაგვე , რადგან არ აქვს ნაგავი . თანამედროვე C++-ში იყენებთ ჭკვიან პოინტერებს და, შესაბამისად, არ გაქვთ ნაგავი.

ასევე, რა როლი აქვს ნაგვის შემგროვებელს? ნაგვის შემგროვებლები პასუხისმგებელნი არიან შეგროვება და ამოღება დახარჯვა და გადამუშავებადი მასალები შემდგომი დამუშავებისთვის. ტიპიური სამუშაო მოვალეობები ჩამოთვლილი ა Მენაგვე რეზიუმეს მაგალითი მოქმედებს დახარჯვა შემგროვებელი მანქანები, რომლებიც მიჰყვებიან დანიშნულ მარშრუტს, შეგროვება უარის თქმა და ზედამხედველებისთვის მოხსენება.

ასე რომ, რა არის ნაგვის შეგროვება C?

ნაგვის შეგროვება (GC) არის მექანიზმი, რომელიც უზრუნველყოფს მეხსიერების ავტომატურ მელიორაციას გამოუყენებელი მეხსიერების ბლოკებისთვის. პროგრამისტები დინამიურად ანაწილებენ მეხსიერებას, მაგრამ როდესაც ბლოკი აღარ არის საჭირო, მათ არ უნდა დააბრუნონ ის სისტემაში აშკარად free() ზარით.

როგორ ამზადებთ ნაგვის შემგროვებელს?

ნაგვის შემგროვებლის განხორციელების უმარტივესი გზაა:

  1. დარწმუნდით, რომ შეგიძლიათ გლობალური ფესვების შეჯერება.
  2. დარწმუნდით, რომ შეგიძლიათ გადალახოთ გროვა, მაგ. გროვის ყველა მნიშვნელობა არის ობიექტი, რომელიც ახორციელებს Visit მეთოდს, რომელიც აბრუნებს ყველა მითითებას ამ ობიექტიდან.
  3. შეინახეთ ყველა გამოყოფილი მნიშვნელობის ნაკრები.

გირჩევთ: