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

关于new操作符如何实现C中的realloc函数

发布网友 发布时间:2023-03-21 19:39

我来回答

1个回答

热心网友 时间:2023-10-09 19:05

最起码你要知道new和malloc不能完全等同,new是要去调用构造函数的,malloc则不会。然后呢,你要明白realloc函数中其实现也是先分配新的数据块,复制数据,再释放旧的数据块。按照这种思路可以这样实现(假设你已经有一块内存A了):1.先new一块新的内存B,并且sizeof(B)>=sizeof(A);2.若上一步成功,则用memcpy将A中的内容复制到B,当然事先最好将B中的内容初始化为0,memset一下;3.若上一步成功,则delete[] A,然后A=B。如果处理的是非自定义类(即基本数据类型)对象的时候,这样就足够了。如果是类对象数组的话,对象的复制不能通过简单的memcpy完成,而指针的delete[],也会有潜在的问题。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
贷款的话首付准备多少米能提A6L? 运来怎么造句 ...急死了,大家看清楚是不显示,不是没法输入啊,有没有高手指教_百度知 ... wps插入sjqy字体(wps文字添加艺术字体) sjqy钢筋符号字体怎么安装(sjqy钢筋符号字体怎么安装到wps) 钢筋符号等级怎么在wps输入? ...另一台显示乱码。看图。SJQY字库已安装。求解。在线等。 布艺沙发甲醛多久挥发 梦幻国度里那些艺术的装备,黄金的装备怎么来的? 梦幻国度点解有人会全身发光的 梦见好多破鞋的预兆 华为mate50pro和小米13pro哪个信号更好一些 盗贼之海国区外区能不能一起玩 女人,不要在朋友圈发这样的消息了,会被人看不起的 左伯桃和羊角衰是什么年代的人? 除夜的古诗怎么背 诗史数千年,什么朝代诗人是谁 贝加周怎么发音 辚怎么读什么意思 木兰香遮不住伤是什么歌 更换新手机时怎样才能快速的把旧手机里下载安装的软件和文件转存到新手机里? 布的沙发太脏了怎么办 幻灯片打不开怎么办 电导率与哪些因素有关 电导池常数和电导率的关系 七彩果果和杂粮煎饼哪个好 我的世界什么职业村民卖兔子腿? 简述冲积扇的特点。 男性肾虚常喝益肾粥补肾益精 没有手机号怎么申请? 梦见讨债上门的预兆 梦见债主上门要钱的预兆 梦见仇人上门讨债的预兆 描述黑夜的诗句 梦见火球在空中飞的预兆 梦见天上有火球的预兆 梦见火球的预兆 清朝官员杀了妻子,和珅纪晓岚为啥坚称是自缢? 恶灵附身如何设置鼠标灵敏度 微信里面有个表情包嗯他在哭然后又笑捂着半边脸怎么回复他呢? 忘了告诉你怎么回复表情包微信 iqooneo7怎么有时候不显示充电模式 手机屏幕不沾指纹诀窍 怎么让手机屏幕不沾指纹 群众路线教育实践活动五个贯穿始终指的是? 列位是什么意思? 列位和诸位是什么意思啊?有什么区别? 用手机号码申请的,现在手机号码换了,该怎么办? 简述微创外科的术中和术后并发症。 剖宫产术后的并发症 乳腺癌术后并发症的介绍