奇怪的内存泄露
求助:奇怪的内存泄露
#define _CRTDBG_MAP_ALLOC //并非绝对需要该语句,但如果有该语句,打印出来的是文件名和 行数等更加直观的信息
#include<stdlib.h>
#include<crtdbg.h>
class CTest
{
public:
CTest(void){m_pchData = new char[1]};
virtual ~CTest(void){delete[] m_pchData};
private:
char* m_pchData;
};
int _tmain(int argc, _TCHAR* argv[])
{
CTest t;
_CrtDumpMemoryLeaks();
}
执行后竟然有内存泄露!!
Detected memory leaks!
Dumping objects ->
{180} normal block at 0x003593A0, 1 bytes long.
Data: < > CD
Object dump complete.
为啥啊!
------解决方案--------------------
因为你检查的时候申请的内存还没释放呢
#define _CRTDBG_MAP_ALLOC //并非绝对需要该语句,但如果有该语句,打印出来的是文件名和 行数等更加直观的信息
#include<stdlib.h>
#include<crtdbg.h>
class CTest
{
public:
CTest(void){m_pchData = new char[1]};
virtual ~CTest(void){delete[] m_pchData};
private:
char* m_pchData;
};
int _tmain(int argc, _TCHAR* argv[])
{
CTest t;
_CrtDumpMemoryLeaks();
}
执行后竟然有内存泄露!!
Detected memory leaks!
Dumping objects ->
{180} normal block at 0x003593A0, 1 bytes long.
Data: < > CD
Object dump complete.
为啥啊!
------解决方案--------------------
因为你检查的时候申请的内存还没释放呢