Odpovídáte na názor ke článku Automatická správa paměti deterministicky.
Jinak kromě RC použivám ke sdílení pointerů ještě kruhový seznam, kdy se pointery propojí do kruhu. Každá kopie pointeru přidá sám sebe do spojového seznamu. Kruh je jednosměrně orientovaný.
Výhody: Objekt na to nemusí být připraven, Ukazatel nemusí alokovat counter. Chytrý ukazatel zabere pouze 2x více než normální ukazatel, snadná implementace přesměrování, kdy mohu změnit adresu u všech ukazatelů současně. Hodí se i na sdílení různých neukazujících objektů. jako třeba souborové deskriptory, handly oken a podobně.
Nevýhody: Pomalé odebírání ukazatelů, pokud je jich hodně (musí se oběhnout kruh), prakticky neřešitelný MT Safe sdílení.
Vemli často to používám na obyčejné přenášení pointerů ve výsledku funkce abych měl jistotu, že si pointer někdo vyzvedl.
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 37 775×
Přečteno 26 421×
Přečteno 24 934×
Přečteno 21 278×
Přečteno 18 933×