全站数据
9 6 1 5 2 8 3

new和malloc的区别

教育小百科 | 简单学习,快乐成长!         

内存分配失败时的返回值不同:

new和malloc的区别

new内存分配失败时,会抛出bac_alloc异常,它不会返回NULL。

malloc分配内存失败时返回NULL。

相关介绍

申请的内存所在位置不同:

new和malloc的区别

new操作符从自由存储区(free store)上为对象动态分配内存空间。自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。

malloc函数从堆上动态分配内存。堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用于程序的内存动态分配,C语言使用malloc从堆上分配内存,使用free释放已分配的对应内存。

猜你喜欢内容

更多推荐