关注
[1]new和malloc区别(详解):
1)异常处理:new分配内存失败抛出 bad_alloc 异常;malloc分配内存失败返回 NULL
2)内存块:new不需要指定内存块大小,编译器会根据类型自动确认;malloc 需要显式指定内存块大小
3)初始化:new 是 C++运算符,调用构造函数初始化;malloc 是C语言库函数,不会调用构造函数,需要手动初始化
4)内存分配为止:new 在自由存储区,malloc 在堆区,当然自由存储区本质也是堆区,但是前者是逻辑概念,后者是物理概念
5)内存释放:delete 调用析构函数,并将指针设置为 nullptr;free 不会调用析构,不会将指针设为 nullptr,可能产生野指针
6)数组释放:delete 可正确释放 new[] 分配的数组;free 不了解数组大小,不能释放 malloc 分配的数组
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
07-10 18:08
吉林大学 算法工程师 点赞 评论 收藏
分享
程序员小白条:[赞干货,就是文章可以搞些排版和格式[赞]
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 风评不好的公司,你会去吗? #
37179次浏览 227人参与
# 假如你的老板掉河里,你的工作能为他做什么 #
31080次浏览 380人参与
# 第一份工作应该选高薪还是热爱? #
70814次浏览 677人参与
# 职场新人体验 #
3054次浏览 50人参与
# 你觉得第一学历对求职有影响吗? #
95288次浏览 674人参与
# 外包能不能当跳板? #
37772次浏览 228人参与
# 你觉得早上几点上班合适? #
73484次浏览 308人参与
# 学历贬值真的很严重吗? #
26097次浏览 179人参与
# 推荐一首陪你工作的歌吧 #
15126次浏览 99人参与
# 秋招签约后的心态变化 #
83787次浏览 820人参与
# 双非能在秋招上岸吗? #
223119次浏览 1180人参与
# 听劝,这个公司值得去吗 #
487454次浏览 1709人参与
# 打工人的工作餐日常 #
54699次浏览 432人参与
# 反问环节如何提问 #
93648次浏览 1938人参与
# 大学最后一个寒假,我想…… #
47290次浏览 576人参与
# 面试被问第一学历差时该怎么回答 #
137791次浏览 853人参与
# 月薪多少能在一线城市生存 #
35790次浏览 352人参与
# 一人推荐一个值得去的通信/硬件公司 #
186982次浏览 1861人参与
# 我想象的实习vs现实的实习 #
288334次浏览 2244人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
93171次浏览 686人参与