关注
[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 分配的数组
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的求职总结 #
19957次浏览 388人参与
# 我的工作日记 #
95214次浏览 1253人参与
# 毕业季,给职场新人一些建议 #
17043次浏览 312人参与
# 辞职之后最想做的一件事 #
9355次浏览 149人参与
# 我的实习日记 #
2428105次浏览 25343人参与
# 晒一晒你收到的礼盒 #
61042次浏览 368人参与
# 你想吐槽公司的哪些规定 #
16334次浏览 65人参与
# Offer比较,求稳定还是求发展 #
48408次浏览 235人参与
# 选offer应该考虑哪些因素 #
15021次浏览 251人参与
# 第一份工作应该只看薪资吗 #
138021次浏览 1454人参与
# 你怀疑过自己的专业选择吗? #
17072次浏览 201人参与
# 薪资一样,你会选择去大厂还是小公司 #
15562次浏览 99人参与
# 牛客十周岁生日快乐 #
129138次浏览 1515人参与
# 秋招想进国企该如何准备 #
57315次浏览 372人参与
# 为了秋招你都做了哪些准备? #
10337次浏览 156人参与
# 在国企工作的人,躺平了吗? #
327111次浏览 3840人参与
# 你想留在一线还是回老家? #
37180次浏览 445人参与
# 你小时候最想从事什么职业 #
90880次浏览 1699人参与
# 工作后会跟朋友渐行渐远吗 #
21139次浏览 167人参与
# 你们公司哪个部门最累? #
15344次浏览 130人参与