Referenzzählung

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 29. Januar 2005 um 18:42 Uhr durch 217.82.169.252 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Der Reference-Counting-Algorithmus funktioniert folgendermaßen: Jedem Objekt wird ein Zähler zugeordnet, der die Anzahl der Pointer enthält, die auf dieses Objekt zeigen. Bei jeder Veränderung des Inhalts eines Pointers (z.B. durch Zuweisung) werden die Zähler entsprechend modifiziert; der Zähler des Objekts, auf das der Pointer vorher zeigte, wird dekrementiert, und der Zähler des Objekts, auf das der Pointer jetzt zeigt, wird inkrementiert.Durch diese Vorgehensweise sind zwei Bedingungen immer erfüllt:

1. Alle noch benutzten Objekte haben einen Zähler ungleich 0. 2. Alle Objekte mit einem Zähler gleich 0 werden nicht mehr benutzt.

Leider gibt es auch unbenutzte Objekte mit einem Zähler ungleich 0, da Objekte in einer unbenutzten zyklischen Struktur auch einen Zähler ungleich 0 haben.