0%

new和malloc

malloc new
上动态分配内存 自由存储区动态分配内存
返回值是void*,需要强制转换 自动返回对象类型的指针
需要制定内存大小 不需要制定内存大小
分配失败返回NULL 分配失败抛出bac_alloc异常
内存不够不能重新分配 可以重新分配
不能调用构造函数和析构函数 可以调用构造函数和析构函数
不能初始化数组元素对象 可以初始化数组元素对象?

自由存储区是c++基于new操作符的一个抽象概念,其可以是堆也可以是静态存储区,主要取决于operator new的实现。

Welcome to my other publishing channels