这个问题面试变差了,所以我就此做了很多介绍。 与其看十遍,不如自己写
C new和malloc的区别(转载)原文地址
3359 blog.csdn.net/nyist _ zxp/article/details/808107423359 www.zhi Hu.com/question/281940376/answer/99999 用一点cpu时间,大幅缩短开发时间,实现内存的自动管理。
new和malloc都被分配到堆内存中,完成手动申请和手动释放。 两者的主要区别:
不是在面试中问,谁来管理他们俩的属性等的差异?
属性
new是关键字(编译器支持),malloc是库函数) (头文件支持)。 参数
new不需要指定大小,malloc必须指定大小。 返回类型
new返回类型是对象指针,malloc为自定义类指定
new调用构造函数和析构函数,malloc不调用构造函数和析构函数分配失败
new抛出异常,malloc返回空内存泄漏
两者都可以检测到。 new可以检查到哪一行。 malloc不行。