CJiangjinDoc::CJiangjinDoc()
{
m_pXingmingarray=new CStringArray;
m_pGangweiarray=new CWordArray;
m_pXishuarray=new CArray<float,float>;
}
CJiangjinDoc::~CJiangjinDoc()
{
m_pXingmingarray->RemoveAll ();
m_pXishuarray->RemoveAll ();
m_pGangweiarray->RemoveAll ();
delete m_pXingmingarray;
delete m_pXishuarray;
delete m_pGangweiarray;
}
void CJiangjinDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar<<m_pXingmingarray;
for(int i=0;i<m_iSize;i++)
ar<<m_pXishuarray->GetAt (i);
ar<<m_pGangweiarray;
}
else
{
m_pXingmingarray->RemoveAll ();
m_pXishuarray->RemoveAll ();
m_pGangweiarray->RemoveAll ();
ar>>m_pXingmingarray;
float fElement=0;
for(int i=0;i<m_iSize;i++)
{ ar>>fElement;
m_pXishuarray->SetAtGrow(i,fElement);
}
ar>>m_pGangweiarray;
}
}
这是我的程序的片段.运行后不打开文档即退出,不提示内存泄露.但打开一个文档再退出,提示内存泄露.我自己分析是m_pXishuarray的问题,始终无法解决,请各位指点.
{
m_pXingmingarray=new CStringArray;
m_pGangweiarray=new CWordArray;
m_pXishuarray=new CArray<float,float>;
}
CJiangjinDoc::~CJiangjinDoc()
{
m_pXingmingarray->RemoveAll ();
m_pXishuarray->RemoveAll ();
m_pGangweiarray->RemoveAll ();
delete m_pXingmingarray;
delete m_pXishuarray;
delete m_pGangweiarray;
}
void CJiangjinDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar<<m_pXingmingarray;
for(int i=0;i<m_iSize;i++)
ar<<m_pXishuarray->GetAt (i);
ar<<m_pGangweiarray;
}
else
{
m_pXingmingarray->RemoveAll ();
m_pXishuarray->RemoveAll ();
m_pGangweiarray->RemoveAll ();
ar>>m_pXingmingarray;
float fElement=0;
for(int i=0;i<m_iSize;i++)
{ ar>>fElement;
m_pXishuarray->SetAtGrow(i,fElement);
}
ar>>m_pGangweiarray;
}
}
这是我的程序的片段.运行后不打开文档即退出,不提示内存泄露.但打开一个文档再退出,提示内存泄露.我自己分析是m_pXishuarray的问题,始终无法解决,请各位指点.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货