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

CObArray 和 CArray 执行效率和内存泄露有关问题

2012-01-14 
CObArray 和 CArray 执行效率和内存泄露问题请问CObArray和CArray的执行效率哪个高?另外频繁大量的调用会

CObArray 和 CArray 执行效率和内存泄露问题
请问CObArray和CArray的执行效率哪个高?另外频繁大量的调用会不会出现内存泄露问题?

详细情况:
我建立CObArray   m_ObArray   和   CArray <CTestMsg,   CTestMsg&>   m_Array两个变量,在其中存放数据,并且反复频繁操作.

//--添加数据到CObArray
CTestMsg   *   pMsg;
for   (i=0;   i <10000;   i++){
      pMsg   =   new   CTestMsg;
      ...   //pMsg初始化
      m_ObArray.Add((CObArray   *)pMsg);
}
//--删除CObArray中数据
for   (i=0;   i <=m_ObArray.GetUpperBound();   i++){
delete   (CTestMsg   *)m_ObArray.GetAt(i);
}
m_ObArray.RemoveAll();
----------------------------------
//--添加数据到CArray
CTestMsg   Msg;
for   (i=0;   i <10000;   i++){
...//Msg初始化
m_Array.Add(Msg);
}

//--删除CArray中数据
m_Array.RemoveAll();

请问,上面代码中有没有内存泄露?另外执行效率上哪个更高些?有没有提高效率的方法?
请高手们赐教

[解决办法]
如果是对象的话CObArray效率高一些.很多的时候是指针操作,不过要注意内存泄露,删除的时候及时释放内存
[解决办法]
看楼主的代码,不会内存泄漏的,一般大数据频繁操作的话,还是用指针效率高。
[解决办法]
按上面那段代码不会有内在泄露,内在没有回到原来的值是正常的,系统将它保留了,使下次分配时更快。

热点排行