删除链接列表中的节点后释放已分配的空间

时间:2015-12-03 09:57:46

标签: c++ linked-list

我正在研究大学课程book中的链表。我在删除链表中的节点时遇到问题。列表的给定结构是

struct Node {
int item;
Node *next;
}

在本书的部分中,使用两个指针删除节点:prev和cur(其中cur指向要删除的节点)正在演示。

在cur:

之后将prev重新路由到节点
prev->next = cur->next;

我们继续释放cur中用于节点的内存。我的问题在于这一部分,使用的代码是:

cur->next = NULL;
delete cur;
cur = NULL;

第一行和第三行不是多余的吗?还是有什么我想念的?既然我们在第二行中删除了cur,那么我们不需要先设置cur-> next = null吧?

在书中它给出了explanation,但它没有多大意义。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

显然,是的,第一行和第三行是多余的