gpt4 book ai didi

c++ - 这会正确释放数据吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:15 24 4
gpt4 key购买 nike

我只想知道这是否会正确释放数据。

伪代码:

std::map<std::string, ClassPointer*>::iterator tempIterator;

for(tempIterator = directory.begin(); tempIterator < directory.end;
tempIterator++)
delete &tempIterator;

最佳答案

由于目录存储原始指针,因此您有责任在必要时删除这些指针。

std::map<std::string, ClassPointer*>::iterator tempIterator;

for(tempIterator = directory.begin(); tempIterator < directory.end();
tempIterator++)
{
delete tempIterator->second;
}

始终,更好的解决方案是在 STL 容器中使用智能指针:

 std::map<std::string, std::shared_ptr<ClassPointer>> directory;

关于c++ - 这会正确释放数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14432366/

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