Indholdsfortegnelse:

Har C en skraldemand?
Har C en skraldemand?

Video: Har C en skraldemand?

Video: Har C en skraldemand?
Video: Min Første Arbejdsdag som Skraldemand! | Dansk Forest Ranger Simulator med @TortenSkjold​ 2024, November
Anonim

C gør ikke har automatisk dagrenovation . Hvis du mister overblikket over et objekt, vil du har det, der er kendt som en 'hukommelseslækage'. Hukommelsen vil stadig blive allokeret til programmet som helhed, men intet vil kunne bruge det, hvis du har mistet den sidste pointer til det. Hukommelsesressourcestyring er et nøglekrav på C programmer.

Tages dette i betragtning, indsamles C-affald?

C++ behøver ikke en skraldemand , fordi den har nej affald . I moderne C++ bruger man smarte pointere og har derfor ingen affald.

Og hvad er affaldssamlerens rolle? Skraldesamlere har ansvaret for indsamling og fjernelse spild og genanvendelige materialer til videre forarbejdning. Typisk job pligter opført på en Skraldemand eksempel på CV fungerer spild indsamlingskøretøjer, der følger den anviste rute, indsamling afvise og rapportere til tilsynsførende.

Bare så, hvad er skraldesamling C?

Dagrenovation (GC) er en mekanisme, der giver automatisk hukommelsesgenvinding for ubrugte hukommelsesblokke. Programmører tildeler dynamisk hukommelse, men når en blok ikke længere er nødvendig, behøver de ikke eksplicit at returnere den til systemet med et free()-kald.

Hvordan laver man en skraldemand?

Den enkleste måde at implementere en skraldeopsamler på er:

  1. Sørg for, at du kan samle de globale rødder.
  2. Sørg for at du kan krydse dyngen, f.eks. hver værdi i heapen er et objekt, der implementerer en besøgsmetode, der returnerer alle referencerne fra det pågældende objekt.
  3. Behold sættet af alle tildelte værdier.

Anbefalede: