gpt4 book ai didi

c++ - 使用 std::list 时内存泄漏

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:42 25 4
gpt4 key购买 nike

如何从 std::list 中移除内存泄漏?

这只是示例代码:

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

#include <iostream>
#include <list>
using namespace std;

void main()
{
list<int> a;
a.clear();
_CrtDumpMemoryLeaks();
}

当我尝试运行它时,它显示出一些内存泄漏。

那么,如何去除呢?

最佳答案

可能没有内存泄漏。报告告诉你的是内存还没有被释放,这是真的。它将在当前范围的末尾被释放 - 在 _CrtDumpMemoryLeaks() 运行之后。

修改代码如下;它将为您提供更准确的答案:

void main()
{
{
list<int> a;
a.clear();
}
_CrtDumpMemoryLeaks();
}

注意 a 容器移动到它自己的范围。

关于c++ - 使用 std::list 时内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35032794/

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