首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用std::list时内存泄漏

使用std::list时内存泄漏
EN

Stack Overflow用户
提问于 2016-01-27 08:59:32
回答 1查看 537关注 0票数 1

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

这只是示例代码:

代码语言:javascript
复制
#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();
}

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

那么,如何去除它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-27 09:02:18

很可能没有内存泄漏。报告告诉你的是内存还没有被释放,这是真的。在运行_CrtDumpMemoryLeaks()之后,它将在当前作用域的末尾被解除分配。

按以下方式修改代码;它将为您提供更准确的答案:

代码语言:javascript
复制
void main()
{
    {
        list<int> a;
        a.clear();
    }
    _CrtDumpMemoryLeaks();
}

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35032794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档