c++ - c++删除指针数组中每个元素指向的对应元素

标签 c++ algorithm pointers delete-operator

假设我有一个指针数组声明为:

MyObject** myArr = new MyObject*[someSize] ;

然后我通过

分配一些对象
myArr[i] = myObjectInstance

现在,我想删除这个数组的每个指针指向的每个元素。那么正确的方法是什么? 我认为 delete[] myArr 行不通。

最佳答案

先删除每个对象,然后删除整个数组:

for(int i = 0; i < someSize; i++)
{
    delete myArr[i];
}
delete[] myArr;

关于c++ - c++删除指针数组中每个元素指向的对应元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58120718/

相关文章:

c - 指针数组的动态分配

c++ - 为什么 n*n 在循环的第一个瞬间结果为 4?对我来说应该是 1*1。相反,它是 2*2

c++ - 调用 Gdiplus::PrivateFontCollection.AddMemoryFont 时出现访问冲突错误

c++ - 在类定义中使用内置数组,但将大小推迟到派生类会导致隐藏吗?

java - 无法正确验证java方法中的平衡括号解析

algorithm - 动态加载骰子的数据结构?

c++ - header 中的 constexpr 数组

c++ - 如何确定点是否在形状上和在形状上?

c++ - #ifdef _DEBUG vs 2008 中的 Release模式

algorithm - 网络流量中s-t流量、流量值和最大流量的区别