new与malloc的10点区别

来源:互联网 发布:如何开淘宝童装店 编辑:程序博客网 时间:2024/05/18 21:42

将上面所述的10点差别整理成表格:

特征new/deletemalloc/free分配内存的位置自由存储区堆内存分配失败返回值完整类型指针void*内存分配失败返回值默认抛出异常返回NULL分配内存的大小由编译器根据类型计算得出必须显式指定字节数处理数组有处理数组的new版本new[]需要用户计算数组的大小后进行内存分配已分配内存的扩充无法直观地处理使用realloc简单完成是否相互调用可以,看具体的operator new/delete实现不可调用new分配内存时内存不足客户能够指定处理函数或重新制定分配器无法通过用户代码进行处理函数重载允许不允许构造函数与析构函数调用不调用
原创粉丝点击