C++中malloc和new的区别简单介绍

来源:互联网 发布:阿里云 云市场图片 编辑:程序博客网 时间:2024/05/22 14:00

    简单总结了一下malloc和new的区别,希望对大家有所帮助,不足之处,请大家批评指正

    malloc和new主要有以下区别:

   1.malloc是C/C++库函数,与free搭配使用,new是C++运算符,与delete搭配使用

   2.malloc函数原型void*malloc(),默认返回值是void*,因此返回时会进行强制转换,而new自动返回,不需要进行强制转换

   3.malloc申请内存空间,需要程序员手动分配大小,而new申请内存空间由编译器自动分配大小;

 4.malloc只是申请内存空间,不会进行初始化操作,而new申请内存空间会进行初始化操作,调用构造函数,释放时会调用析构函数;