如果我有:
std::size_t bagCapacity_ = 10;
std::size_t bagSize = 0;
A** bag = new A*[bagCapacity_];
while (capacity--)
{
bag[capacity] = new A(bagSize++); //**here I'm loading this array from the end is it ok?**
}
Run Code Online (Sandbox Code Playgroud)
还可以从数组末尾开始删除那些对象吗?
while (capacity--)
{
delete bag[capacity];
}
Run Code Online (Sandbox Code Playgroud)
代码中的问题.
here I'm loading this array from the end is it ok?
Run Code Online (Sandbox Code Playgroud)
是的,没关系.你可以随意填充元素.
delete[] bag[capacity];
Run Code Online (Sandbox Code Playgroud)
这段代码错了.bag [capacity]是A*使用new而不是分配的类型,new[]因此你不delete[]应该只delete bag[capacity];删除单个A对象.最后你应该delete[] bag删除为包分配的内存.
| 归档时间: |
|
| 查看次数: |
172 次 |
| 最近记录: |