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字节直接存储着长度信息

相关推荐
reasonsummer6 小时前
【办公类-18-07】20251215(Python)“口腔检查涂氟信息”批量生成打印(区名、学号、姓名、学校、班级、身份证、户籍、性别、民族)
开发语言·python
小鹿学程序6 小时前
FileZilla连接到虚拟机
java·服务器·开发语言
仰泳的熊猫6 小时前
1108 Finding Average
数据结构·c++·算法·pat考试
未来魔导6 小时前
Gin版本的路由总结
开发语言·llm·gin·路由
周杰伦_Jay6 小时前
【Eino框架】Go语言驱动的LLM应用开发新范式
开发语言·后端·golang
上78将6 小时前
Java中既有编译执行又有解释执行,这个怎么理解?
java·开发语言
一个无名的炼丹师6 小时前
【硬核实战】Python处理多源异构文档:从读取到智能信息提取的统一框架深度剖析
开发语言·python
Mr_Xuhhh6 小时前
JAVA期末重点
java·开发语言·python
a程序小傲6 小时前
小红书Java面试被问:java创建对象有哪些方式?
java·开发语言·面试
行走的陀螺仪6 小时前
JavaScript 装饰器完全指南(原理/分类/场景/实战/兼容)
开发语言·javascript·ecmascript·装饰器