gpt4 book ai didi

c++ - 干净地销毁动态分配对象的 vector

转载 作者:行者123 更新时间:2023-11-30 03:14:27 27 4
gpt4 key购买 nike

是否有另一种方法可以释放已分配对象的内存,而不是遍历 vector/列表?

int main()
{
vector<Class*> v;
v.push_back(new Class(2,2));
v.push_back(new Class(65,65));
v.push_back(new Class(45,23));
for(Class* &it : v)
delete it;
return 0;
}

最佳答案

是的。它叫做smart pointers :

std::vector<std::unique_ptr<Class>> v;
v.push_back(std::make_unique<Class>(Class(2,5)));

但是,如果您没有理由使用动态分配的对象,则更喜欢 std::vector<Class> .

Live

关于c++ - 干净地销毁动态分配对象的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57836234/

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