Dobrý den co to znamená silná a slabá reference ? Párkrát jsem o tom četl ale nikde nemůžu najít pořaídné vysvětlení ... vím že to má co dělat s carbage collectorem ale nevím přesně co...
Fórum › C / C++
Silné a slabé reference
Toto zrejme patri do .Net/Javy. Silna referencie je pointer ktory obsahuje reference counter, akonahle je pocet referencii na dany objekt 0 tak ho GC zmaze. Slaba referencia neinkrementuje reference counter, ale ked chces pristupovat k objektu tak ho docasne inkrementuje(vytvori silnu referenciu). Ak slaba referencia ukazuje na objekt ktory uz bol zmazany referencia vrati null. Slabe referencie sa pouzivaju pri cyklickych referenciach. Napr objekt A obsahuje referenciu na objekt B a objekt B obsahuje referenciu na A. Zaroven vsak ziadna referencia (mimo objekty A a B) neukazuje na objekt A a B, cize GC by ich mal zmazat. Ak by boly pouzite 2 silne referencie, tak by referencia v A aj referencia B mala counter nastaveny na hodnotu 1, tym padom by ich GC nezmazal. Ak bude aspon jedna z tych refereni slaba, tak GC moze mazat.
V c++ sa na to pouziva std::shared_ptr a std::weak_ptr.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Software pro generování stížností, které budou naklikané z možností… — založil verejneuzitecnysw
Linux pro slabé a starší pc? — založil x???x
Reference ve 2d poli — založil Midnight
Nulova reference? — založil Mutagen
Moderátoři diskuze