关注
[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 分配的数组
查看原帖
点赞 评论
相关推荐
12-18 17:51
浙江大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8421次浏览 211人参与
# 实习简历求拷打 #
12484次浏览 159人参与
# 被上班搭子“传染”了哪些习惯 #
5587次浏览 99人参与
# 秋招被挂春招仍然能投的公司 #
6839次浏览 99人参与
# 工作后,你落下了哪些病根 #
13498次浏览 189人参与
# mt对你说过最有启发的一句话 #
35987次浏览 429人参与
# 外包能不能当跳板? #
54107次浏览 256人参与
# 作业帮求职进展汇总 #
83080次浏览 547人参与
# 摸鱼被leader发现了怎么办 #
101376次浏览 642人参与
# 秋招特别不鸣谢 #
15742次浏览 177人参与
# 考研失败就一定是坏事吗? #
201071次浏览 1371人参与
# 选实习,你更看重哪方面? #
14132次浏览 216人参与
# 投格力的你,拿到offer了吗? #
152601次浏览 817人参与
# 今年秋招你收到了多少封邮件? #
18031次浏览 219人参与
# 京东美团大战,你怎么看? #
158121次浏览 860人参与
# 机械/制造每日一题 #
80260次浏览 1411人参与
# 担心入职之后被发现很菜怎么办 #
266294次浏览 1133人参与
# 第一次面试 #
1036499次浏览 13683人参与
# 携程求职进展汇总 #
840161次浏览 5534人参与
# 毕业论文进行时 #
20906次浏览 131人参与

