我想清理我之前获得的任何资源,所以在我的析构函数中,我调用删除整个链表的函数clear
:
LinkedList::~LinkedList() {
clear();
}
这样做是否安全?是否有异常的可能性?这就是clear
的样子:
// deletes all nodes in a linked list
void LinkedList::clear() {
Node* current = head;
while (current) {
Node* next = current->next;
delete current;
current = next;
}
head = nullptr;
}
答案 0 :(得分:1)
我认为这是你在LL析构函数中通常所做的。您的LinkedList类只是节点链的包装器,因此只要您检查其他LinkedList方法中的空指针,它就是安全的。
此外,如果这不是您的计算机科学家庭任务,请考虑使用std :: list:)