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

相关推荐
羸弱的穷酸书生4 分钟前
国网 i1协议 python实现
开发语言·python
电子硬件笔记6 分钟前
Python语言编程导论第三章 编写程序
开发语言·python·编辑器
布谷歌6 分钟前
在java中实现c#的int.TryParse方法
java·开发语言·python·c#
cooldream200911 分钟前
当代 C++ 的三大技术支柱:资源管理、泛型编程与模块化体系的成熟演进
开发语言·c++
洲星河ZXH27 分钟前
Java,集合框架体系
开发语言·windows
Queenie_Charlie32 分钟前
数字去重(set)
数据结构·c++·set
宠..32 分钟前
写一个感染型病毒
开发语言·安全·安全性测试
wheelmouse778833 分钟前
一个优雅、通用、零侵入的 CSV 导出工具类(Java 实战)
java·开发语言
cike_y1 小时前
JavaWeb-Request应用与Cookie&[特殊字符]️Session
java·开发语言·安全·java安全