malloc/free是c++/c语言的标准库函数,new/delete是c++运算符,它们都可以动态申请内存和释放内存。
1.new/delete在实现上是调用了malloc和free函数,但是它们还调用了构造函数和析构函数。
2.使用malloc函数进行内存分配必须指明要分配空间的具体大小;而用new则不需要,它能自动计算要分配的类型的大小。
3.malloc函数对类型缺乏检查和限制,它总是返回一个void指针,而new创建的是指针带类型信息。
new/delete与malloc/free
原创xiangjie256 博主文章分类:c++ ©著作权
©著作权归作者所有:来自51CTO博客作者xiangjie256的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
new thread 、 new stack和New Object的形象说明
e2 studio的使用
堆栈 Stack 网络协议栈 -
new / delete ,malloc / free 区别
都可以⽤来在堆上分配和回收空间。new /delete 是操作符,malloc/free 是库函数。
java 开发语言 初始化 析构函数 构造函数 -
C++之new/delete/malloc/free详解
主要内容:1.C语言中的函数malloc和free2.C++中的运算符new和
c++ 开发语言 内存空间 运算符