zl程序教程

您现在的位置是:首页 >  其它

当前栏目

new和malloc的区别

区别 New malloc
2023-06-13 09:15:29 时间

浏览量 1

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

2.使用new操作符申请内存分配时无需指定内存块的大小,而malloc则需要显式的指出所需内存的尺寸。

3.operator new / operator delete可以被重载,而malloc/free并不允许重载。

4.new/delete会调用对象的构造函数/析构函数以完成对对象的构造/析构,而malloc则不会。

5.malloc与free是C++、C语言的标准库函数,new、delete是c++运算符。

6.new操作符从自由存储区上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。