使用std :: list中的类型char指针检测到内存泄漏

cpx*_*cpx 1 c++ memory-leaks

为什么我没有分配或添加任何元素列表下面的内存泄漏错误.我应该忽略它吗?

#define CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#include <list>
using std::list;

int main()
{
    list <char*> roots;

    _CrtDumpMemoryLeaks();
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*ler 11

roots在检查内存泄漏之前,您没有给变量一个被销毁的机会.如果roots首先销毁,你应该注意到一切都被清除了.试试这个.

#define CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#include <list>
using std::list;

int main()
{
    {
        list <char*> roots;
    }

    _CrtDumpMemoryLeaks();
}
Run Code Online (Sandbox Code Playgroud)