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 36 211×
Přečteno 25 373×
Přečteno 23 801×
Přečteno 20 182×
Přečteno 17 880×