new和malloc的区别

2021/7/1 6:23:39

本文主要是介绍new和malloc的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、申请内存所在位置不同

new:自由存储区

malloc:堆

2、返回类型安全性

new:返回的就是对象类型,不需要进行强制类型转换,因此是内存安全的

malloc:返回的是void*类型,需要强制类型转换

3、内存分配失败时的返回值

new:分别配失败,会抛出bac_alloc异常

malloc:分配失败返回NULL

4、是否需要指定内存大小

new:不需要

malloc:需要

5、operator new /operator delete的实现可以基于malloc,而malloc的实现不可以去调用new

等等。。。。。。

https://www.huaweicloud.com/articles/06543baad284a30d54f3711f89e36aed.html



这篇关于new和malloc的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程