我在程序中这样做
CArray<CExFlytimeTable*,CExFlytimeTable*> m_ExFlytimeTableArray;
m_ExFlytimeTableArray为一个类的变量for(int i=0;i<nExpectFlyTimeSetCount;i++)
{
CExFlytimeTable* ExFlytimeTableTemp=new CExFlytimeTable();
..........
...........
m_ExFlytimeTableArray.Add(ExFlytimeTableTemp);
}
我这样的话,显然是没有释放又new所分配的内存,如果一直运行上面的代码的话,肯定会对系统资源影响很大。
我应该怎样做才能释放资源呢?
请高手指点一下
CArray<CExFlytimeTable*,CExFlytimeTable*> m_ExFlytimeTableArray;
m_ExFlytimeTableArray为一个类的变量for(int i=0;i<nExpectFlyTimeSetCount;i++)
{
CExFlytimeTable* ExFlytimeTableTemp=new CExFlytimeTable();
..........
...........
m_ExFlytimeTableArray.Add(ExFlytimeTableTemp);
}
我这样的话,显然是没有释放又new所分配的内存,如果一直运行上面的代码的话,肯定会对系统资源影响很大。
我应该怎样做才能释放资源呢?
请高手指点一下
{
delete m_ExFlytimeTableArray[i];
}m_ExFlytimeTableArray.RemoveAll();
CExFlytimeTable * ExFlytimeTableTemp = new CExFlytimeTable();
for(int i = 0;i < nExpectFlyTimeSetCount;i++)
{
...........
m_ExFlytimeTableArray.Add(ExFlytimeTableTemp);
}
delete []CExFlytimeTable;
在每次new一个ExFlytimeTableTemp出来后,他应该是做不同的事情的。比如,他也是一个数组的指针,他应该存一些特定的数据。
可是我现在的问题是,我要连续执行下面的程序,比如连续按某个按钮
for(int i=0;i<nExpectFlyTimeSetCount;i++)
{
CExFlytimeTable* ExFlytimeTableTemp=new CExFlytimeTable();
..........
...........
m_ExFlytimeTableArray.Add(ExFlytimeTableTemp);
}
如果是这样的话,那么不是NEW了很多个CExFlytimeTable吗?
那么我应该怎样来释放这些资源呢?
请高手指点一下,拜托了.
简单点说就是需要时申请空间,并记录指针(存储指针值)。
不需要时释放空间,并销毁指针(NULL)。
具体起来谁也帮不了你,说得太模糊。
》》可是我现在的问题是,我要连续执行下面的程序,比如连续按某个按钮
《〈再加一个释放按钮,加入以上大侠程序,你的思维比较混乱。(不知道你是什么意思)。