首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

关于单件模式的有关问题

2012-03-13 
关于单件模式的问题//以下是测试类,我想在使用完成后删除单件实列.???可系统提示我 内存泄露.是关于三个参

关于单件模式的问题
//以下是测试类,我想在使用完成后删除单件实列.
 ???可系统提示我 内存泄露.是关于三个参数的.
 多次使用,也仅提示一次泄露.
class CTest
{
public:

static CTest* GetInstance();
BOOL Play();
BOOL Stop();
private:
CTest();
virtual ~CTest();
public:
CString m_param1; 
DWORD m_param2;
UINT_PTR m_param3;
};

static CTest* g_test =NULL;
CTest* CTest:: GetInstance()
{
if(g_test == NULL)
{
g_test = new CTest;
}
return g_test ;
}
BOOL CTest:: Play(){ do something }
BOOL CTest:: Stop()
{
  ...
  delete g_test ;
g_test = NULL;
}

[解决办法]
是不是Stop()之后又调用了GetInstance() ,或者g_test别的地方又被赋值了。

热点排行