循环new 类的对象来存储数据 最后怎么删除释放内存
void CWaveView::OnWave()
{
// TODO: Add your command handler code here
KillTimer(1);
m_Wave.RemoveAll();//用来保存每次绘图后的对象地址 删除指针 释放内存
//打开mat文件
MATFile *pMatFile=NULL;
mxArray *pMxArray=NULL;
double *pMat1=NULL;
int m,n;
pMatFile=matOpen("D:\\Program Files\\MATLAB71\\work\\Wave_Data.mat", "r");//返回文件指针
if(pMatFile==NULL)
{
AfxMessageBox("没有打开文件");
}
else
{
pMxArray=matGetVariable(pMatFile, "WaveData");
if(pMxArray==NULL)
{
AfxMessageBox("没有数据");
}
else
{
pMat1=mxGetPr(pMxArray);//获得数据首地址
m=mxGetM(pMxArray);
n=mxGetN(pMxArray);
int j=m_Wave_Num;
for(int i=0;i<m*n;i=i+2)//循环采集次数
{
if(j==m*n)
{j=0;}
m_Data.x=pMat1[j];
m_Data.y=pMat1[j+1];
CData *pdata=new CData(m_Data);
m_Wave.Add(pdata);
j=j+2;
}
m_Wave_Num=m_Wave_Num+2;//用于定位从哪个数据开始读
}
matClose(pMatFile);
mxFree(pMxArray);
mxFree(pMatFile);
m_RepaintWave=1;
Invalidate(true);
UpdateWindow();
OnWaveTimer();
}
}程序大概是读一个MAT文件的数据 画图 然后启动定时器后重新读文件画图 利用数组实现动态显示 但是我觉得CData *pdata=new CData(m_Data);这一句不断用对象存储的数据保存在堆里一直没有释放 所以不知如何释放 谢谢 除此编程 希望各位大牛给以指导谢谢