社区
C++ 语言
帖子详情
C++清空链表时的问题
palhotel
2011-12-07 07:49:50
如果我链表节点中的有些数据域是动态分配的。比如节点内是char *name;然后生成节点时分配空间name=new char[10];
在删除时,是否需要先释放name,再释放节点呢?
...全文
272
6
打赏
收藏
C++清空链表时的问题
如果我链表节点中的有些数据域是动态分配的。比如节点内是char *name;然后生成节点时分配空间name=new char[10]; 在删除时,是否需要先释放name,再释放节点呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hackhat
2011-12-08
打赏
举报
回复
struct node
{
.......
~node()
{
delete[] name;
name=NULL;
}
};
标准的做法
riyueming184
2011-12-08
打赏
举报
回复
直接把节点弄成一个类,有构造函数,有析构函数不就成吗?
这是C++,不是C语言……,何必那么麻烦!
yaotang
2011-12-07
打赏
举报
回复
存放name指针 的是 一段指针类型大小的内存空间(后称内存段1),
name指针 指向的是 一段10个char类型大小的内存空间(侯成内存段2)
释放节点的时候,是释放了name,就是释放了内存段1,并没有释放内存段2,所以为了不会发生内存泄漏,说以在释放节点前要先释放name指针指向的内存段2。
modicum_ck
2011-12-07
打赏
举报
回复
2楼的方法不错。
释放的话应该先释放name,然后再释放结点。delete后最好是把结点指向NULL,防止野指针。
wsd8024
2011-12-07
打赏
举报
回复
再节点 这个 结构体中 写一个 析构函数
例如 :
struct node
{
.......
~node()
{
delete[] name;
}
};
释放节点后 自动删除name所指向数据.
Usopp_Dream
2011-12-07
打赏
举报
回复
先释放节点 释放name
话说 结贴率是0 怎么回事?好奇
数据结构线性表的链式表示
数据结构线性表的链式表示节点代码、二级指针和引用变量的理解、以及一些错误的解决办法
P9
链表
清空
链表
|销毁
链表
🎬 个人主页:@ChenPi🐻推荐专栏1: 《》✨✨✨🔥 推荐专栏2: 《》✨✨✨📝推荐专栏3: 《》 ✨✨✨🍉本篇简介 :
链表
清空
链表
|销毁
链表
✨ 只有我努力了 才有机会接触成功✨
链表
是一种常见的基础数据结构,结构体指针在这里得到了充分的利用。
链表
可以动态的进行存储分配,也就是说,
链表
是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还可以根据需要随意增添,删除,插入节点。
链表
都有一个头指针,一般以head来表示,存放的是一个地址。
链表
操作—单
链表
的销毁与
清空
/* 单
链表
的销毁与
清空
销毁:连同头结点一起释放
清空
:保留头结点;置头结点的指针域为NULL */ //销毁
链表
void destroyList(Linklist &L) { Linklist p; p = L; while (p) { L = L->next; // free(p); delete(p); } } //
清空
链表
void clearList(Linklist &L) { Linklist p; while (L->next)
c++
利用类进行单
链表
的插入,删除,
清空
操作
#if 1 #include <iostream> #include <stdlib.h> #include <time.h> #include <fstream> #include <string> using namespace std; //类 class List { publ...
双向
链表
的
C++
实现
双向
链表
的
C++
实现 双向
链表
与单向
链表
相比,各个结点多了一个指向前一个结点的指针。结构如图所示: 双向
链表
的结点定义如下: #ifndef SIMPLENODE_HPP #define SIMPLENODE_HPP template //再定义一个模板 写双
链表
class DoubleNode { public:
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章