352 Stimmen

Ist es sicher, einen NULL-Zeiger zu löschen?

Ist es sicher, einen NULL-Zeiger zu löschen?

Und ist das ein guter Kodierungsstil?

4voto

Es ist sicher, es sei denn, Sie überlastet die löschen-Operator. wenn Sie überlastet die löschen-Operator und nicht Handhabung null Bedingung dann ist es nicht sicher überhaupt.

0voto

Sitesh Punkte 1576

Es gibt eine FAQ zu diesem Thema, die diese Frage beantwortet.

Die Sprache C++ garantiert, dass delete p nichts bewirkt, wenn p ein null ist. Da Sie den Test möglicherweise verkehrt herum machen und die meisten Testmethoden Methoden Sie zwingen, jeden Verzweigungspunkt explizit zu testen, müssen Sie sollten Sie den redundanten if-Test nicht einbauen.

-4voto

pheest Punkte 19

Ich habe die Erfahrung gemacht, dass es pas sicher (VS2010) zu löschen[] NULL (d.h. Array-Syntax). Ich bin nicht sicher, ob dies nach dem C++-Standard ist.

Es es NULL sicher zu löschen (skalare Syntax).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X