Tôi đang viết một danh sách liên kết và tôi muốn hủy cấu trúc của cấu trúc (cấu trúc nút) để xóa chính nó và không có bất kỳ tác dụng phụ nào. Tôi muốn destructor danh sách của tôi để lặp đi lặp lại gọi destructor Node trên chính nó (lưu trữ các nút tiếp theo tạm thời), như thế này:Có OK để sử dụng "xóa mục này" để xóa đối tượng hiện tại không?
//my list class has first and last pointers
//and my nodes each have a pointer to the previous and next
//node
DoublyLinkedList::~DoublyLinkedList
{
Node *temp = first();
while (temp->next() != NULL)
{
delete temp;
temp = temp->next();
}
}
Vì vậy, đây sẽ là destructor Node tôi:
Node::~Node
{
delete this;
}
Đây có phải là chấp nhận được, đặc biệt trong bối cảnh này?
Tôi sẽ là người cuối cùng sẽ tiếp tục bị kết thúc nhưng tôi tin rằng câu hỏi này đã được hỏi một vài lần trong quá khứ rồi: http://www.google.com/search?q=delete + site + này: stackoverflow.com –