为了账号安全,请及时绑定邮箱和手机立即绑定

C++ 在一个循环中使用new,如何对应进行delete?

C++ 在一个循环中使用new,如何对应进行delete?

婷婷同学_ 2019-04-27 22:20:05
题目描述下面代码中创建链表时的循环中使用了new,如何设置对应的delete释放内存?PS.代码中自己的delete位置好像不对,也搜到过说小程序delete不delete不影响这种说法。求教大神!相关代码//链表测试#include#includestructNode{public:intdata;Node*pNext;};//intmain(){//头结点Node*head;head=newNode;head->data=0;head->pNext=NULL;//创建链表Node*pnew,*ptemp;ptemp=head;intn=0;std::coutn;inti=n;while(n>0){n--;pnew=newNode;std::cout
查看完整描述

2 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

小程序delete不delete不影响这种说法这个说法完全不对.不要因为程序小养成不良习惯.有new就要有一定要有delete.
你的链表是循环new出来的,要删除全部,就从头开始循环delete,直到下个节点是NULL代码就不给了.
                            
查看完整回答
反对 回复 2019-04-27
?
森林海

TA贡献2011条经验 获得超2个赞

补充释放内存代码
std::cout<<"释放链表内存:";
p=head->pNext;
while(p!=NULL){
ptemp=p;
std::cout<data<<"";
p=p->pNext;
deleteptemp;
}
std::cout<
                            
查看完整回答
反对 回复 2019-04-27
  • 2 回答
  • 0 关注
  • 508 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号