Závěsný ukazatel

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 5. září 2019; kontroly vyžadují 3 úpravy .

Visící ukazatel nebo visící reference ( ang.  Dangling pointer , wild pointer , dangling reference ) je ukazatel , který neukazuje na platný objekt odpovídajícího typu. Toto je zvláštní případ porušení zabezpečení paměti.

Visící ukazatele nastanou, když je objekt odstraněn nebo přesunut, aniž by se změnila hodnota ukazatele na null, takže ukazatel stále ukazuje na paměťové místo, kde byla data dříve uložena. Protože systém může přerozdělit dříve uvolněnou paměť (včetně jiného procesu), může nefunkční ukazatel vést k nepředvídatelnému chování programu. Když program zapisuje data do paměti pomocí takového ukazatele, data mohou být tiše poškozena, což vede k jemným chybám, které je velmi těžké najít.

Tento druh chyby je velmi nebezpečný a spolu s úniky paměti k nim dochází poměrně často.

Řada jazyků snižuje možnost visících ukazatelů, zejména pomocí automatického shromažďování odpadu [1] nebo jiných metod [2] ke zlepšení zabezpečení přístupu do paměti .

Poznámky

  1. Automatické počítání referencí na iOS | Dr Dobb's (nedostupný odkaz) . Získáno 17. září 2016. Archivováno z originálu 16. srpna 2012. 
  2. https://doc.rust-lang.org/nomicon/meet-safe-and-unsafe.html Archivováno 30. dubna 2018 na Wayback Machine „Rust. Veškerý základní jazyk se stará o .. Dereferencování nulových nebo visících ukazatelů»

Odkazy