【发布时间】:2017-09-07 18:11:50
【问题描述】:
在遇到之前我一直在实现一个链表
void StringLinkedList::removeFront(){
StringNode *old = head;
head = old -> next;
delete old;
}
我想知道为什么不只做 head = head->next(而不是 head = old->next),当没有任何东西指向前一个地址时,这如何造成内存泄漏(因为 head 节点是现在指向下一个节点)。
非常感谢。
【问题讨论】:
-
如果你仍然有这 3 行但在第二行中将 old 更改为 head - 代码将相同并且不会引入内存泄漏。
标签: c++ pointers linked-list