

c++ "Divoké" ukazatele
Dobrý den, narazil jsem při studování c++ na to, že bych měl ukazatelům, na které zavolám delete , přiřadit hodnotu, pokud bych se pokusil zavolat ukazatel bez toho, aniž bych mu přiřadil hodnotu, tak se v prý nejlepším případě zhroutí program... Nepřehánějí moc? Je to opravdu tak nebezpečné, nebo prostě spadne program a nic víc se nestane, Děkuju za vysvětlění
Priradiť null hodnotu môžeš a nemusíš. Ak pracuješ s uvoľnením pointrom, tak to aj tak spadne. Keď tam dáš null, tak ti to padne definovaným spôsobom. Ak nie, tak sa program môže zachovať nepredvídateľne.
Ak sa premenná s neplatným smerníkom stane nedostupnou po opustení rozsahu platnosti, tak je zbytočné jej nastavovať null. Ak ju ale znovupoužívaš, tak je nastavenie null rozumné. Osobne som radšej za nastavovanie null, pretože sa vyhneš v prípade chyby nedefinovanému správaniu.
Děkuju moc za vysvětlení, toto bych se v knížce nedozvěděl... =)
Neprehanaju. Ak tvoj program prepisuje nieco na disku tak by teoretocky mohol poprepisovat riadne kraviny, aj ked je to velmi nepravdepodobne. Ja osobne povazujem pracu s neplatnym pointrom za chybu absolutne najhrubsieho zrna, ako ochrana voci tomu je zvyk neplatne pointre VZDY mat inicializovane na null a aj zneplatnene pointre nastavovat na null, a VZDY ked je pointer ako vstup fcie alebo v neprehladnych cykloch testovat pred pouzitim ci neni null
... a ten test na null sa da konieckoncov pouzit aj v destruktore na test ci treba robit delete.
Inac extremne pozorny treba byt u multithread aplikacii ak pouzivas nieco spolocne vo viacerych threadoch tak dokonca nestaci to len nastavit na null ale musi to byt aj critical section