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或手动输入如其内存大小。
面试中说出如下几点即可:
(1)new delete 是c++运算符,malloc free是c的库函数
(2)new一个对象时,有严格的类型检查,返回值是与对象匹配的指针,而malloc仅仅是申请一块内存,返回值为void*,需要对其进行类型转换才可使用。
(3)new和delete一个对象时,会自动调用其构造函数和析构函数,而malloc和free只会释放内存,不会调用其构造函数和析构函数。
(4)new一个对象时,会自动判断其类型大小,不用手动计算。而malloc一块内存时,需要使用sizeof或手动输入如其内存大小。
相关文章推荐
- new/delete和malloc/free的区别
- c++中new和delete修饰符与malloc和free函数的区别
- C++中,new/delete和malloc/free的区别
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- new/delete 与 malloc/free的区别是什么?
- malloc/free、new/delete 区别
- new,delete与malloc,free的联系与区别
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- malloc/free与new/delete的区别
- malloc free new delete 赋值构造函数相关使用及区别
- malloc/free与new/delete的区别
- new/delete 和malloc/free 的区别一般汇总
- new/delete和malloc/free的区别,sizeof的理解和struct内存对齐
- 百度笔试题:malloc/free与new/delete的区别
- C++中,new/delete和malloc/free的区别