• Advertisement
Sign in to follow this  

stl map memory leak problems in vs.net 2003

This topic is 4797 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Howdy folks, This simple program is reporting memory leaks in VS.NET 2003:
#include <windows.h>
#include <string>
#include <map>

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

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR params, INT)
{
   std::map<std::string, int> foo;
   _CrtDumpMemoryLeaks();
}
I just realised however that it could be a case of a false positive. Is the runtime library freeing up stuff after WinMain returns? cheers sam.

Share this post


Link to post
Share on other sites
Advertisement
The cleanup happens in the destructor of the std::map, at the end of main. The _CrtDumpMemoryLeaks call happens before the destructor is called.

Share this post


Link to post
Share on other sites
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR params, INT)
{
{
std::map<std::string, int> foo;
}
_CrtDumpMemoryLeaks();
}


What the above poster said :)

Share this post


Link to post
Share on other sites
never heard of _CrtDumpMemoryLeaks(). Seems usefuel, what exactly does it report just amount of memory that hasn't been freed up or what.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement