c++ - 如何删除二维数组?

标签 c++ pointers memory-management

如何删除这个分配的指针?

int (*foo)[4] = new int[100][4];

只是 :

delete[] foo;

最佳答案

因为你已经分配了一个数组,所以你必须使用 operator delete[]

delete []foo;

你可以用下面的方式重写代码片段会更清楚

typedef int T[4];

T *foo = new T[100];

delete []foo;

关于c++ - 如何删除二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25043093/

相关文章:

iphone - 关于临时对象的 iOS 内存/性能优化

c++ - 为什么我们需要为指针放置 *

c++ - 用 C++ 编写 GUI 应用程序时使用的最佳库是什么?

我们可以在运行时在 C 中找到结构中的元素数吗?

c - 使用指针、标志和函数调用的素数生成器 (C)

c++ - 当我使用指针时,为什么我的运算符重载没有为 "<"调用?

c++ - 如何在 .cpp 文件中定义模板成员函数的显式特化

c++ - 如何在不丢失顺序的情况下将 std::vector 转换为 std::set

memory-management - 写入全局或本地内存会使内核执行时间增加10000%

c++ - C 与 C++ 在内存分配方面的性能