关注
[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 分配的数组
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招什么时候开投比较合适? #
23764次浏览 318人参与
# 百度工作体验 #
223453次浏览 1973人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
27991次浏览 216人参与
# 机械人与华为的爱恨情仇 #
117160次浏览 946人参与
# 发工资后,你做的第一件事是什么 #
68165次浏览 229人参与
# 机械人集合!你是什么工程师? #
15818次浏览 89人参与
# 你觉得实习能学到东西吗 #
36343次浏览 712人参与
# 找不到好工作选择GAP真的丢人吗 #
78275次浏览 938人参与
# 我想去国央企的原因 #
60005次浏览 393人参与
# 如何准备秋招 #
20694次浏览 390人参与
# 工作中哪个瞬间让你想离职 #
25916次浏览 177人参与
# 入职第四天,心情怎么样 #
29454次浏览 417人参与
# 拼多多工作体验 #
28548次浏览 197人参与
# 多益网络求职进展汇总 #
29234次浏览 134人参与
# 快手求职进展汇总 #
547114次浏览 6001人参与
# 硬件应届生薪资是否普遍偏低? #
74103次浏览 514人参与
# 不考虑转正,实习多久合适 #
32334次浏览 145人参与
# 面试中,你被问过哪些奇葩问题? #
68560次浏览 796人参与
# 你们公司几号发工资 #
21243次浏览 140人参与
# 如果再来一次,你还会学硬件吗 #
125797次浏览 1402人参与
# 实习,不懂就问 #
46413次浏览 693人参与