如何释放 new申请的空间 char *p;p = new char[255];怎样释放 new 空间呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 delete []p;是最规范的delete p;也可以最好删除后赋空 delete []p; or delete p; 都会出错,在MFC中(可能)无需用delete释放内存,MFC会自动帮助完成(不确定)。 wongsung()不要误导大家!但是,最好再释放之前先判断一下!!! wongsung() ( ) ________________________________你的说法是不对的,这是C++的基本与法,VC使用的是C++的规则 delete p;也可以---------------------------------这样可要犯错误底,看看EFFECTIVE C++有解释的标准做法delete []p;p = NULL; 在释放这种简单类型的指针的时候,我认为delete p也是可以的 char *ptrA = new char [6];lstrcpy(ptrA,"");...delete []ptrA;//(vc6,mfc)单步调试至此,程序报错 //若用free(ptrA),反而无错 //奇怪 wongsung我试过,没问题,是你中途改过指针值,或者越界 我也说说吧,delete []p是指p申请的指向的是数组内存,delete p是指p申请的是指向的是一块内存空间(一个变量或者类等),建议你先释放指针再用delete []p,如果不释放会造成内存溢出或者指向的地址随机错误,见Designed C++(C++创始人著) activex与页面交互 关于OpenProcess函数的问题。 XML属性值特殊字符:引号,问题 directshow错误 显示位图的问题! 初学者的两个小问题 安装程序问题 怎样获得“ip地址控件”的值? 刚起步公司的招聘,有兴趣的来看看。。 请问:BSTR,LPSTR,LPTSTR,LPOLESTR,LPWSTR有何区别???? 调用CDialogBar::GetWindowRect,返回的CRect为一个点值??? 新手首次发问:有谁研究过多重继承下如何实现序列化的功能?
delete p;也可以最好删除后赋空
________________________________
你的说法是不对的,这是C++的基本与法,VC使用的是C++的规则
---------------------------------
这样可要犯错误底,看看EFFECTIVE C++有解释的标准做法
delete []p;
p = NULL;
lstrcpy(ptrA,"");
...
delete []ptrA;//(vc6,mfc)单步调试至此,程序报错
//若用free(ptrA),反而无错
//奇怪
我试过,没问题,是你中途改过指针值,或者越界
我也说说吧,delete []p是指p申请的指向的是数组内存,delete p是指p申请的是指向的是一块内存空间(一个变量或者类等),建议你先释放指针再用delete []p,如果不释放会造成内存溢出或者指向的地址随机错误,见Designed C++(C++创始人著)