【发布时间】:2014-02-12 15:17:10
【问题描述】:
delete[] a,其中a 是动态分配的指针数组,是否为数组中的每个指针执行delete?
我想,它为具有用户定义类的数组执行析构函数,但是指针发生了什么?
【问题讨论】:
-
不,它只会删除数组。如果要删除所有指针,则必须遍历并删除数组包含的所有指针。
-
更好的是,使用 std::vector (最好不要每个元素都是指针)。
-
我知道std::vector,我想自己写类似的类。
-
不,你不应该在容器中存储指针
-
您可以使用智能指针数组删除
delete[] a上数组的每个元素。
标签: c++ arrays pointers delete-operator