我对解除分配 vector 内存的工作原理感到困惑。 对于下面的示例,
vector<Object*> vec;
for(int i = 0; i < 10; i++){
Object* obj = new Object();
vec.push_pack(obj);
}
//DEALLOCATE CODE HERE//
我应该怎么做才能正确释放 vec? 该程序似乎运行良好,但我不确定。
最佳答案
避免使用新建/删除:
std::vector<std::unique_ptr<Object>> vec;
for(int i = 0; i < 10; i++)
{
vec.push_pack(std::make_unique<Object>());
}
unique_ptr 将负责删除
关于c++ - 我需要取消分配 vector 中的对象指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55563807/