gpt4 book ai didi

c++ - 我需要取消分配 vector 中的对象指针吗?

转载 作者:行者123 更新时间:2023-11-28 04:20:27 25 4
gpt4 key购买 nike

我对解除分配 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com