Jak wykryć, czy wskaźnik został usunięty i bezpiecznie go usunąć?

WC ++ Jak zdecydować lub wiedzieć, czy wskaźnik został wcześniej usunięty?

kiedy próbowałem usunąć wskaźnik, który został wcześniej usunięty w innej części kodu, rzucił wyjątek, którego nie można obsłużyć.

Zastanawiałem się, czy istnieje sposób, aby sprawdzić lub spróbować usunąć wskaźnik? wszelkie odniesienia do zaawansowanych operacji pamięci.

chcę też opanować nieobsługiwane wyjątki wskaźników, a dostęp do chronionego lub dostępu jest naruszeniem, ... ten rodzaj błędu.

dziękuję za tych, którzy przekazują swoją wiedzę i czas, aby pomóc innym i dzielić się swoimi dobrodziejstwami

Aktualizacja

Dużą radą wielu współczesnych społeczności programistów c ++ jest - Użyj inteligentnych wskaźników lub spróbuj uniknąć używania surowych wskaźników. Ale dla bezpieczeństwa i ochrony pamięci (ISO_CPP_FAQ) i oczywiście, jeśli chcesz uniknąć niewielkich nakładów związanych ze stosowaniem inteligentnych wskaźników [może nie być zawsze zauważalne, ale mają nadmiar], możesz napisać własne metody, które zajmują się surowymi wskaźnikami [typ *] - nie jest to ogólne.Preferuj zawsze inteligentne wskaźniki do surowych wskaźników.

W „Going Native 2013” ​​podano powszechnie stosowaną radę - Nigdy nie używaj surowych wskaźników.

questionAnswers(7)

yourAnswerToTheQuestion