Aber Nexus, nach dem löschen sollte man den Pointer doch auf null setzen, da sonst jeder Nullpointer-check wirkungslos bleibt, man aber trotzdem auf gelöschten Speicherplatz zugreift ?!
Ja, Nullsetzen ist nicht von vornherein schlecht.
Mir kommt es manchmal nur so vor, als würde zu wenig über Objekt-Gültigkeit nachgedacht. Nullzeiger sind der Einfachheit halber erlaubt, man prüft dann eben vor jedem Zugriff auf Null. Jedoch ist es in vielen Fällen so, dass die Erzwingung eines gültigen Werts von der Programmlogik viel sinnvoller wäre. Referenzen sind nicht immer eine Alternative, z.B. wenn manuelle Speicherverwaltung im Spiel ist (was aber sehr selten vorkommen sollte) oder wenn der Zeiger sich während der Lebenszeit ändern kann.
Was ich sagen will: Zeiger können in vielen Situationen ohne Null verwendet werden. Regeln wie "ungültige Zeiger immer sofort auf Null setzen" sind zwar für Anfänger hilfreich, können sich jedoch durchaus negativ auf den Code auswirken. Und zwar nicht nur, was Codegrösse und Performance angeht: Viel wichtiger ist eine einfach und sauber strukturierte Logik, vor allem im Bezug auf Erweiterbarkeit und Wartung. Wenn ein Zeiger gültig sein muss, entfallen Spezialbehandlungen und Basteleien, um auf ungültige Zeiger halbwegs sinnvoll zu reagieren.