问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++中delete后赋NULL的问题

发布网友 发布时间:2022-04-15 03:56

我来回答

4个回答

懂视网 时间:2022-04-15 08:17

调研:t_zset删除操作 zslDelete(zs-zsl,score,c-argv[j]) int zslDelete(zskiplist *zsl, double score, robj *obj) void zslDeleteNode(zskiplist *zsl, zskiplistNode *x, zskiplistNode **update) void zslFreeNode(zskiplistNode *node zskiplistNode *

调研:t_zset删除操作
zslDelete(zs->zsl,score,c->argv[j])
int zslDelete(zskiplist *zsl, double score, robj *obj)
void zslDeleteNode(zskiplist *zsl, zskiplistNode *x, zskiplistNode **update)
void zslFreeNode(zskiplistNode *node
这里写图片描述

这里写图片描述

这里写图片描述
zskiplistNode *node中的成员都能访问,说明zfree(node)并没有释放node, 什么时候实现回收。实际上,free(ptr)告诉操作系统回收*ptr空间(如:将该空闲块链接到可用链表),但是该块的内容并未清空,故使用ptr仍能访问*ptr空间。

注意:当ptr1和ptr2同时指向zskiplistNode时,通过zfree(ptr1)告诉操作系统回收*ptr1(zskiplistNode),但是ptr2仍然指向zskiplistNode这片空间,所以ptr2仍能访问zskiplistNode的内容。

这里写图片描述

内存泄露,链表删除节点,使用free(ptr),和ptr = NULL之间的关系,free仅告诉os回收资源,而ptr指针仍存放这片空间的地址,指向这片空间,如果未设置读写保护,ptr依旧能访问这片空间的内容;所以free(ptr)之后,显式设置ptr为NULL,避免出现不可预期的错误(读到不该读的或写入不该写的空间)。
这里写图片描述
这里写图片描述
这里写图片描述

冒号表达式使用
这里写图片描述
lr > 0?pnode->rchild:pnode->lchild = NULL;
必须使用int i = (boolean expression)? A:B;

热心网友 时间:2022-04-15 05:25

  new是跟系统借一块内存,成功的话,系统给你一块内存,并且系统会保证不会把你分配的内存给其他申请到

delete是跟系统还一块内存,成功的话,系统会让其他人可以分配到这块内存

而new和delete的内存内容系统是不关心的,所以一般malloc后,都会初始化内存

释放内存是没有改变内存内容

指针是指向那块内存,申请到了内存就会指向那块内存,跟内存内容没有关系

如: int* pInt = new int;
pInt = NULL; //这里跟分配的内存没关系,只是将pInt这个指针指向NULL而已 (这里由于没有delete会内存泄漏)

热心网友 时间:2022-04-15 06:43

说的也是啊,析构之后ptr也会被销毁的不需要置为NULL
执行时发生什么错误?
是不是你的c不是动态分配的…在你这里delete[] ptr相当于delete[] c…
你把接受const char*的构造函数发来

热心网友 时间:2022-04-15 08:18

代码没贴全,目测是你代码问题追问同样非常感谢您的帮助!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大学入学应该带哪些必备物品? tim删除聊天记录的方法步骤 pc端彻底删除tim聊天记录 甩脂机调到什么档位 如何用甩脂机 甩脂机的正确使用方法 使用抖脂机要注意什么 怎样申请小号微信号 ...的长和宽分别增加6米,扩建后草坪的面积增加了多少 ...扩建后长和宽分别增加10米,扩建后的操场面积增加了多少平方米?_百 ... 长方形的公园它的面积长和宽分别扩大十米后它的平方增加了面积增加了13... 更换了主板物理地址会变吗? 更换电脑硬盘是否影响电脑物理地址,电脑物理地址会跟以前的有变化? 更换硬盘后物理地址会改变吗? 笔记本无线网络适配器物理地址会改变吗?? 电脑的物理地址唯一吗?物理地址就是网卡的地址吗?那换一块网卡物理地址就会变了吧? 在不同地方用电脑,那电脑的物理地址是不是会不一样 更换电脑后物理地址会更换吗? mac地址是唯一不变的吗? 半夜经常醒过来怎么回事?要怎么改善 半夜老醒怎么回事? 吃小西红柿吃多了会胖吗 辽宁省二级建造师的报考条件是什么 怎么查驾驶证是否是真是假 在手机上查询驾驶证是否真假怎么查? 怎样查驾驶证真假官网 查新办驾驶证真假12123 上怎么查询?新下来的驾驶证怎么查询自己的分 驾驶证买的在交管123123查询信息真的请问这驾驶证真的假的? 请老师帮忙看两枚乾隆通宝 乾隆通宝钱币黑色是什么材质 两枚乾隆通宝,怎么颜色不一样?是用什么材质造的? 电脑物理地址是不是固定的 物理地址可以改变吗? 电脑端的马可地址会随网络的变化而变化吗 请问升级主板和显卡 电脑物理地址会改变吗? 在青岛哪能找到外教练口语? 青岛市商务英语口语培训班哪里性价比高?. 青岛在哪里可以找到外国人练习口语? 有没有在青岛华尔街英语学习的 急!关于青岛中考英语口语考试 经字可以怎么组词 断路器的额定短路电流计算 断路器在选用时,要求断路器的额定通断 经怎么组词 电脑重新装了系统安装在d盘的软件还能打开吗?如果可以怎么打开,如果不可以在d盘还留有安装的数据吧? 重装系统后,以前安装在D盘的软件还可以用吗 “经”的组词。 关于断路器的额定电流 断路器的额定短路开断电流如何计算? “经”的组词有哪些? 都说“桂林山水甲天下”如果去桂林旅游什么季节去更好呢?