【发布时间】:2018-05-26 02:04:11
【问题描述】:
我正在用 C++ 编写一个链表程序。为了实现这个概念,我在全局范围内创建了一个指针“start”,指向列表的第一个元素。
程序完成后,我尝试删除所有动态分配的内存以防止内存泄漏,方法是使用 start 和另一个本地声明的指针“p”访问连续节点。 在这里,我使用了一个指向相同正确地址的指针,但这个指针不是用于内存分配的指针,而是像任何普通指针一样在本地声明。
我的问题是 - 是否可以通过使用指向同一位置的普通指针来删除动态分配的内存?
【问题讨论】:
-
不要将指针视为指向地址,将其视为地址(并且它指向该地址处的对象)。如果你要拆除主街 35 号的房子,不管地址是如何传达给你的,它仍然是同一所房子。
-
@molbdnilo:你能把 37 也打碎吗?然后从 36 号可以看到日出。
标签: c++ pointers linked-list dynamic-memory-allocation delete-operator