Spisu treści:

Czy C ma garbage collector?
Czy C ma garbage collector?

Wideo: Czy C ma garbage collector?

Wideo: Czy C ma garbage collector?
Wideo: ЗАКРИЧАЛ – ПОТЕРЯЛ ₽200.000 / ТРЭШКЭШ: Тишина 2024, Może
Anonim

C robi nie mieć automatyczny zbieranie śmieci . Jeśli zgubisz obiekt, ty mieć tak zwany „wyciek pamięci”. Pamięć nadal będzie przydzielona całemu programowi, ale nic nie będzie w stanie jej użyć, jeśli zgubisz ostatnią wskazówkę do niej. Zarządzanie zasobami pamięci jest kluczowym wymogiem na C programy.

Biorąc to pod uwagę, czy śmieci C są zbierane?

C++ nie potrzebuje Śmieciarz , ponieważ nie ma Śmieci . We współczesnym C++ używasz inteligentnych wskaźników i dlatego nie ma Śmieci.

A jaka jest rola śmieciarza? Zbieracze śmieci są odpowiedzialne za zbieranie i usuwanie marnotrawstwo oraz surowce wtórne do dalszego przetwarzania. Typowa praca obowiązki wymienione na Śmieciarz Przykładowe CV działają marnotrawstwo pojazdów odbiorczych, po wyznaczonej trasie, zbieranie odmówić i zgłaszać się do przełożonych.

Tak więc, czym jest zbieranie śmieci C?

Zbieranie śmieci (GC) to mechanizm, który zapewnia automatyczne odzyskiwanie pamięci dla nieużywanych bloków pamięci. Programiści dynamicznie przydzielają pamięć, ale gdy blok nie jest już potrzebny, nie muszą zwracać go bezpośrednio do systemu za pomocą wywołania free().

Jak zrobić śmieciarza?

Najprostszym sposobem na zaimplementowanie garbage collectora jest:

  1. Upewnij się, że możesz zestawić globalne korzenie.
  2. Upewnij się, że możesz przemierzać hałdę, m.in. każda wartość w stercie jest obiektem implementującym metodę Visit, która zwraca wszystkie odwołania z tego obiektu.
  3. Zachowaj zestaw wszystkich przydzielonych wartości.

Zalecana: