刪除指針后將其空設為空是很好的做法嗎?我先說,使用智能指針,您就不必擔心這個問題了。下面的代碼有什么問題?Foo * p = new Foo;// (use p)delete p;p = NULL;這是由回答和評論另一個問題。一條評論來自尼爾·巴特沃斯引起了一些不滿:在C+中,在DELETE之后將指針設置為NULL并不是普遍的良好做法。有時它是一件好事,有時它是沒有意義的,可以隱藏錯誤。在很多情況下,這都無濟于事。但以我的經驗來看,不會有什么傷害的。有人啟發我。
3 回答

拉丁的傳說
TA貢獻1789條經驗 獲得超8個贊
Foo* foo = 0; // Sets the pointer to 0 (C++ NULL) delete foo; // Won't do anything
Foo* foo = new Foo(); delete foo; // Deletes the object delete foo; // Undefined behavior
std::unique_ptr
std::shared_ptr
- 3 回答
- 0 關注
- 546 瀏覽
添加回答
舉報
0/150
提交
取消