【发布时间】:2012-10-08 18:27:42
【问题描述】:
我将如何销毁任意大小、维度和类型的动态数组? delete[] 会自动降低二维数组的层级,还是只删除第一层指针,因此程序需要手动迭代每个数组层级?
理想情况下,我需要一个命令(用于模板类)来破坏一到四维数组。如果有办法检查数组的维数,它也可以工作。
我正在使用动态数组,例如 double* ar = new double[100];
【问题讨论】:
-
数组在 C++ 中是一维的。
delete[]将删除使用new[]创建的数组。如果数组是其他数组的数组(可能是其他数组),这将正常工作。你能详细说说你关心的问题吗? -
您已经收到了很好的答案;不过我想建议Boost.MultiArray,也许你会发现它适合你的 N 维数组。
标签: c++ multidimensional-array