我有一个对象指针向量。我希望能够删除这些对象并释放这些对象占用的内存。
我目前拥有的是这样的:
这是包含对象指针的向量:
std::vector<Ball*> List;
这是删除向量中的元素并释放内存的函数:
void BallManager::DeleteBall(int id)
{
List[id]->~Ball(); //Not sure if this is needed
delete List[id];
List[id] = NULL;
List.erase(List.begin()+id);
}
我的问题是我还需要调用对象的析构函数还是由删除来处理?