首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

当链表中中next指针被delete掉后还可以又new吗

2013-10-07 
当链表中中next指针被delete掉后还可以再new吗?我设计了一个链表,程序运行中按一个键销毁最后一个结构体,

当链表中中next指针被delete掉后还可以再new吗?
我设计了一个链表,程序运行中按一个键销毁最后一个结构体,并将倒数第二个结构体的nextdelete掉,此时我想对这个delete掉的指针进行new,即在最后一个结构体后面链上一个结构体,结果出现断点,请问可以new吗?如果不行的话,应该如何解决呢。 指针 链表
[解决办法]
准确的说, delete p 这个语句,释放的是 p 指向的那块内存区域。
p 本身就是一个指针,它可以指向新的区域,所以 p = new Node() 是没问题的。
[解决办法]
delete只是delete掉了指针所指的分配的内存,并没有将指针释放,当然可以进行重新new了
[解决办法]
new 运算 有一个结果,记一个指针
delete  后,指针还是指向被delete 的指针所指的位置
只有 赋值为0,或者重新 new 一下,结果赋值给那个指针,

才可以保证这个指针有一个确定值,
而不会成为野指针。

出现错误,应该是代码有错误,未必是你所讲的这个位置。
从你的帖子里看不出,错误在哪。

如果想知道,为什么错误,上代码。

如果想讨论,这种情况如何处理,

搜一下,链表,先看别人如何处理,然后在说说你的看法。
才好讨论。
[解决办法]
delete掉的当然可以new,只要注意内存泄露问题就好!
谁new的,对应起来delete释放就好,当然新new的空间地址可能不是同一个而已!

热点排行