注册 登录
编程论坛 C++教室

这样使用指针分配地址,那什么时候这个地址得到释放?

Lyone 发布于 2011-02-17 12:37, 505 次点击
目前有一个double类型的数据链表。函数实现这样一个功能
链表尾部增加一个值时,链表头部的值放弃。也就是说整个链表中值的数量保持不变。
程序如下
        DOUBLESTRUCT* pNew = new DOUBLESTRUCT(data);
        GetPoint(MaxAmount)->next = pNew; //MaxAmount:链表中值的数量
        pHead = pHead->next;

这段程序执行后,原pHead所指的那个地址是否被释放了?
3 回复
#2
rjsp2011-02-17 15:15
没有。

而且频繁分配释放内存不是一个好的行为,建议你:
将头部节点直接断裂开来,移动尾部,换上新值
#3
Lyone2011-02-17 15:37
回复 2楼 rjsp
恩,车轮式的。。。好。我试试。谢谢。
#4
zgxyz20082011-02-17 15:38
new创建的必须手动delete,要释放头节点可以定义一个临时指针指向头,然后delete该临时指针~
1