hur.cn - 华软网

 热门搜索

CArray mArray 关于内存释放的问题

  作者:未知    来源:网络    更新时间:2011/7/15
请懂的人看下我写的代码,我怕内存泄露,谢谢.

C++">
typedef srt
{
  unsigned char Cmd[2];
  unsigned char Paramer[4];
}STR;

CArray<STR *> mArray;

//添加是这样吗?
{
  STR *p = new STR;
  mArray.Add(p);
}

//释放是这样吗?
{
  unsigned int i;
  unsigned int nCount = mArray.GetCount();
  for(i=0;i<nCount;i++)
  {
    STR *p = mArray.GetAt(i);
    delete []p;
  }
  mArray.RemoveAll();
}


---华软 网友回答---
delete []p;
---->delete p;

---华软网友回复---
我想确认下,添加和释放代码有没有问题呢.
---华软网友回复---
发觉这个论坛越来越垃圾了.不能编辑修改原来的贴
我现在更正如何

C++">
typedef struct srt
{
  unsigned char Cmd[2];
  unsigned char Paramer[4];
}STR;

CArray<STR *> mArray;  // 好像我没见人CArray这样用过.

//添加是这样吗?
{
  STR *p = new STR;
  mArray.Add(p);
}

//释放是这样吗?
{
  unsigned int i;
  unsigned int nCount = mArray.GetCount();
  for(i=0;i<nCount;i++)
  {
    STR *p = mArray.GetAt(i);
    delete []p;  // 这里是指向一个数据结构的指针,是这样删除吗?
  }
  mArray.RemoveAll();
}



---华软网友回复---
我给我自己顶,知道满意答案      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。