malloc和new的区别

2019-03-05  本文已影响0人  yutz
C语言中的malloc/free和C++中的new/delete的区别和联系

相同点:
它们都是对内存进行管理

区别:
区别1:类型
malloc/free是函数,而new/delete是关键字、操作符

区别2:作用
malloc/free只是简单的进行内存的申请和释放;new/delete除了进行内存申请和释放,还会调用对象的构造函数和析构函数进行空间的初始化和清理

区别3:参数与返回值
malloc/free需要手动计算申请内存的空间大小,而且返回值是void*,需要自己转换成所需要的类型;

new/delete可以自己计算类型的大小,返回为对应的类型指针

上一篇下一篇

猜你喜欢

热点阅读