C++ 内存泄露
本帖最后由 HandanXiaoliang 于 2013-04-15 10:16:44 编辑
#include "stdafx.h"
#include <process.h>
class CThreadTest
{
public:
CThreadTest()
{
WaitForSingleObject((HANDLE)_beginthreadex(NULL,0,ThreadFunc,this,0,NULL),INFINITE);
}
~CThreadTest()
{
//位置1
if(m_pUrl)
{
delete m_pUrl;
m_pUrl = NULL;
}
}
char** GetChar(){return &m_pUrl;}
static UINT WINAPI ThreadFunc(PVOID v_pParam)
{
CThreadTest* pTHread = (CThreadTest*)v_pParam;
if(pTHread == NULL)
return 0;
char** pchr = pTHread->GetChar();
*pchr = new char[MAX_PATH];
//位置2
//if(*pchr)
//{
//delete *pchr;
//*pchr = NULL;
//}
return 0;
}
private:
char* m_pUrl;
};
int _tmain(int argc, _TCHAR* argv[])
{
//{
CThreadTest test;
// }
// 包内存溢出
_CrtDumpMemoryLeaks();
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
//{
CThreadTest test;
// }
// 包内存溢出
_CrtDumpMemoryLeaks();
return 0;
}
{
CThreadTest test;
}
// 包内存溢出