我必须从头开始吗?

The*_* do 1 c++ arrays

如果我有:

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)

代码中的问题.

Nav*_*een 8

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删除为包分配的内存.