30/09/2018, 20:01
Tại sao chương trình lại treo nếu xóa con trỏ 2 Lần?
Cho mình hỏi nếu xóa con trỏ 2 lần thì lỗi đó là lỗi gì. Và tại sao chương trình lại treo
Bài liên quan
Cho mình hỏi nếu xóa con trỏ 2 lần thì lỗi đó là lỗi gì. Và tại sao chương trình lại treo
xóa cọn trỏ null chả bị lỗi gì nhé
http://www.cplusplus.com/reference/new/operator%20delete[]/
If this is a null-pointer, the function does nothing.
… nhưng nếu xóa con trỏ 2 lần thì sẽ khác đấy
À, mình nhầm. Ý mình là xóa con trỏ 2 lần á.
Tại sao lại xảy ra lỗi lúc thực thi.
Mình đã edit lại.???
http://diendan.congdongcviet.com/threads/t36221::ban-chat-cua-viec-cap-phat-bo-nho-dong-giai-phong-bo-nho.cpp
đọc thêm để hiểu. thực tế thì : Deleting the same memory twice is undefined behaviour
hành vi xóa 1 con trỏ > 1 lần là hành vi ko đc định nghĩa, nó có thể khiến bất cứ điều gì cũng có thể xảy ra, tiêu biểu là crash . Vì thế mỗi khi delete con trỏ thì đều nên gán cho nó = NULL trước khi tái sử dụng. Tập thành thói quen r sẽ ít bị memory leak or crash