简单问题,先到先得:请大家总结一下,在哪些情况下一个变量用完后要让它等于NULL以释放资源。 如果你在delete p 后面用到if(p) ...那你就需要在delete后 p = NULL;要是不用的话,可以不用写 p = NULL;delete p 就是释放资源p = NULL 只是给变量赋值,而不能释放资源 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那哪些情况下我需要释放资源?释放资源都需要用到delete吗? 当p需要频繁使用时,首先应该在定义或初始化时,这样:char *p = NULL ;当使用时,首先:if(p==NULL) 只要你new了,就要delete一般情况下指针在delete后都要指向空值一下! 当p需要多次使用时,首先应该在定义或初始化时:char *p ;p = NULL ;只是给变量赋值,而不能释放资源 当使用时,首先:if(p==NULL)p = new char[len] ; 分配资源当使用完成,需要释放空间delete []p ; 释放资源p = NULL ;以便下次使用时进行判断。如果P不是多次使用,则不需要p = NULL ;只需p = new char[] ;分配资源。使用完成,一定要:delete []p ;释放资源。 COM Smart Ptr才需要_ApplactionPtr spApp = ......spApp = NULL; 创建的.exe文件不能正确启动 RasDial 的回调函数问题 进程中数据的共享问题 小弟刚学VC,来问个有关子窗口的问题。 不好意思,因事情有点儿急,在这儿提问题,大哥大姐知道的帮一下忙:cmd/command命令在其他地方执行无效 找不到DataGrid控件,如何办? 求助:播放一段AVI,要循环全屏播放。100分 在win2000下怎么编程实现屏蔽alt+ctrl+delete三个键 简单问题,马上结帖 请问哪里有介绍批处理文件中的批处理命令和格式的网站或电子书籍. Hi,sun的最新版,你在吗? 请问:如何在VC代码中嵌入AT指令,大大送分
char *p = NULL ;
当使用时,首先:
if(p==NULL)
一般情况下指针在delete后都要指向空值一下!
char *p ;
p = NULL ;只是给变量赋值,而不能释放资源 当使用时,首先:
if(p==NULL)
p = new char[len] ; 分配资源当使用完成,需要释放空间
delete []p ; 释放资源
p = NULL ;
以便下次使用时进行判断。如果P不是多次使用,则不需要p = NULL ;
只需p = new char[] ;分配资源。
使用完成,一定要:delete []p ;释放资源。
...
spApp = NULL;