登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

秒大刀 博客

好好学习 天天向上

 
 
 

日志

 
 
 
 

关于char*的内存释放  

2006-03-27 23:55:25|  分类: C/C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

大家都知道对于对象数组的释放时应该应用delete []pos

比如:

MyStruct * pms = new MyStruct[3];

//...

delete []pms;

可是不知道怎么的以前我写代码时对于字符串指针的释放一直都是

char *pc = new char[32];

//...

delete pc;

 而遗憾的是我一直没有意识到这个问题,今天终于在一位高手的指点之下找出了这个潜藏在我大脑中许久的BUG。感觉好极了!

在这里向这位给我指出错误的大师致谢!

 

下面是我从MSDN获得的一段代码,写的是很清楚的,再次印证了我很久以来的“习惯性错误”。

int main()
{
   char* pCharArray = new char[256];  // Allocate memory for the array
   strcpy(pCharArray, "Array of characters");
   delete [] pCharArray;              // Deallocate memory for the array
   pCharArray = NULL;
}

  评论这张
 
阅读(7745)| 评论(3)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018