浏览量 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函数从堆上动态分配内存。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有