关注
[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 分配的数组
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
14281次浏览 207人参与
# 实习,不懂就问 #
159034次浏览 1406人参与
# 晒晒你司的新年福利 #
845次浏览 21人参与
# 国企秋招,你投了吗? #
58790次浏览 376人参与
# 程序员能干到多少岁? #
806次浏览 24人参与
# 硬件/芯片公司工作体验 #
146811次浏览 960人参与
# 软开人,秋招你打算投哪些公司呢 #
178277次浏览 1352人参与
# 硬件人秋招进展 #
269393次浏览 3983人参与
# 毕业后不工作的日子里我在做什么 #
232879次浏览 1691人参与
# 帆软软件工作体验 #
11330次浏览 55人参与
# 运营人求职交流聚集地 #
208571次浏览 1091人参与
# 你觉得实习能学到东西吗 #
134852次浏览 1453人参与
# 第一份工作应该只看薪资吗 #
233885次浏览 1855人参与
# 电信求职进展汇总 #
39769次浏览 197人参与
# 关于春招你都做了哪些准备? #
125847次浏览 717人参与
# 快手工作体验 #
301802次浏览 2904人参与
# AI求职实录 #
19575次浏览 443人参与
# 今年春招是金一银二嘛? #
33361次浏览 313人参与
# 没关系,至少我的__很曼妙 #
14498次浏览 245人参与
# 实习打杂,要跑路吗 #
58329次浏览 340人参与