使用 std::list 时内存泄漏
Memory leak when using std::list
如何消除 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
容器移动到它自己的范围。
如何消除 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
容器移动到它自己的范围。