您的位置:首页 > 其它

new delete和malloc free的区别

2018-03-18 15:28 288 查看
这是面试中常考的一道题。
面试中说出如下几点即可:
(1)new delete 是c++运算符,malloc free是c的库函数
(2)new一个对象时,有严格的类型检查,返回值是与对象匹配的指针,而malloc仅仅是申请一块内存,返回值为void*,需要对其进行类型转换才可使用。
(3)new和delete一个对象时,会自动调用其构造函数和析构函数,而malloc和free只会释放内存,不会调用其构造函数和析构函数。
(4)new一个对象时,会自动判断其类型大小,不用手动计算。而malloc一块内存时,需要使用sizeof或手动输入如其内存大小。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: