C++面试复习日记(8)2025.4.25,malloc,free和new,delete的区别

1,malloc,free和new,delete的区别

答:malloc和free是c语言中库函数;

new和delete是c++的操作符;

分配内存:malloc和new

区别:

malloc:需要手动计算存储空间

new:自动计算存储空间

malloc:返回时,不带数据类型,返回void*,最后进行类型转换,返回参数类型,以字节为单位。可以用size of来计算所需内存。

new:直接返回对象类型的指针

malloc:分配失败,返回NULL值;

new:分配失败,执行异常

malloc:分配内存:虚拟内存;

new:分配内存:freestore上的物理内存;

释放空间:

free,delete:

free:需要对象类的指针:

delete:需要一个void*指针,前16字节直接存储着长度信息

相关推荐
椒颜皮皮虾྅9 小时前
一套 C# 接口,解锁四类视觉任务:DeploySharp 分类、分割、关键点与旋转框实战
开发语言·分类·c#
2603_9658966210 小时前
JavaScript 原型与原型链
开发语言·前端·javascript
艾莉丝努力练剑10 小时前
【AI大模型接入SDK】ChatServer接口测试
网络·c++·人工智能·学习·ai·大模型·sdk
朋友圈自动点赞工具10 小时前
Ruby方法查找:对象不存方法
开发语言·前端·ruby·科技资讯
D e re k ZH10 小时前
C++ 模板与泛型编程进阶(No 2)
开发语言·c++
一级新生10 小时前
LLM _ Agent _ Skill _ 专家 的关系与选型笔记
java·开发语言·人工智能·笔记·大模型·智能体·skill
starzy199010 小时前
Scala String操作:从插值器到正则的完整指南
开发语言·后端·scala
普通人610 小时前
CSS-box-sizing-使用指南
开发语言·前端·css·1024程序员节
她说彩礼65万10 小时前
C# TaskCompletionSource
java·开发语言·c#
青少儿编程课堂10 小时前
蓝桥杯青少组图形化+信息素养+电子学会Scratch考级:校园口算闯关解析
c++·python·算法·bfs·信息学竞赛