gpt4 book ai didi

c++ - STL+内存管理问题

转载 作者:太空宇宙 更新时间:2023-11-04 14:46:04 25 4
gpt4 key购买 nike

例如,我有下一个代码:

#include <set>
using namespace std;

struct SomeStruct
{
int a;
};

int main ()
{
set<SomeStruct *> *some_cont = new set<SomeStruct *>;
set<SomeStruct *>::iterator it;
SomeStruct *tmp;

for (int i = 0 ; i < 1000; i ++)
{
tmp = new SomeStruct;
tmp->a = i;
some_cont->insert(tmp);
}

for (it = some_cont->begin(); it != some_cont->end(); it ++)
{
delete (*it);
}

some_cont->clear(); // <<<<THIS LINE
delete some_cont;
return 0;
}

是否需要在删除 some_cont 之前调用“THIS LINE”以避免内存泄漏或自动调用析构函数?

最佳答案

不用调用,肯定会调用析构函数。

关于c++ - STL+内存管理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6284231/

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