相关疑难解决方法(0)

delete []"如何"知道操作数数组的大小?

Foo* set = new Foo[100];
// ...
delete [] set;
Run Code Online (Sandbox Code Playgroud)

您没有将数组的边界传递给delete[].但是这些信息存储在哪里?它是标准化的吗?

c++

235
推荐指数
5
解决办法
3万
查看次数

我可以删除以前动态分配但使用不同指针的内存吗?

我正在用 C++ 编写一个链表程序。为了实现这个概念,我在全局创建了一个指针“start”,指向列表的第一个元素。

程序完成后,我尝试通过使用 start 和另一个本地声明的指针“p”访问连续节点来删除动态分配的所有内存以防止内存泄漏。在这里,我使用了一个指向相同正确地址的指针,但这个指针不是用于内存分配的指针,而是像任何普通指针一样在本地声明。

我的问题是 - 是否可以使用指向同一位置的普通指针来删除动态分配的内存?

c++ pointers linked-list dynamic-memory-allocation delete-operator

1
推荐指数
1
解决办法
118
查看次数