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

相关推荐
LiLiYuan.8 分钟前
【Lombok库常用注解】
java·开发语言·python
小龙报12 分钟前
《算法通关指南数据结构和算法篇(2)--- 链表专题》
c语言·数据结构·c++·算法·链表·学习方法·visual studio
Charles_go28 分钟前
C#中级45、什么是组合优于继承
开发语言·c#
mjhcsp35 分钟前
C++ 动态规划(Dynamic Programming)详解:从理论到实战
c++·动态规划·1024程序员节
随意起个昵称40 分钟前
【二分】洛谷P2920,P2985做题小记
c++·算法
二川bro43 分钟前
数据可视化进阶:Python动态图表制作实战
开发语言·python·信息可视化
q***2511 小时前
java进阶1——JVM
java·开发语言·jvm
望眼欲穿的程序猿1 小时前
Win系统Vscode+CoNan+Cmake实现调试与构建
c语言·c++·后端
while(1){yan}1 小时前
线程的状态
java·开发语言·jvm
豐儀麟阁贵1 小时前
8.3 Java常见的异常类
java·开发语言