为什么要使new和delete

 我来答
人宇科学在我心
2011-09-12
知道答主
回答量:6
采纳率:0%
帮助的人:6.5万
展开全部
函数执行时,本地局部变量(函数中定义的变量),都是在栈中分配的内存,而栈的大小是有限制的,无法创建很大的对象或者数据,因而需要在堆中创建,new和delete就是用来干这件事情的(在堆中申请内存或者释放内存)

参考资料: http://book.douban.com/subject/6127082/

爱吃没有刺的鱼5807
2011-09-13 · TA获得超过320个赞
知道答主
回答量:273
采纳率:0%
帮助的人:129万
展开全部

江半仙 请不要误导了,delete一个空指针根本没有关系,有关系的是delete完这个指针没有设置为空,那样就变成一个野指针了。

我看你给出的程序并不完整,不过我觉得tinyxml应该提供了对应的内存管理,只要删除根或者根本不用delete会自动帮你delete,这点你最好看下tinyxml的帮助。

至于会崩溃的问题建议你还是debug下应该是野指针的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suyongzlt
2011-09-12 · 超过23用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:69.3万
展开全部
以便于动态创建,由于创建的指针是在堆里的,最后还有释放堆空间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式