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

相关推荐
星梦清河17 小时前
Java—异步编程
java·开发语言
接着奏乐接着舞17 小时前
dto 转entity方法
java·开发语言
0x000717 小时前
译 Anders Hejlsberg 谈 C# 与 .NET
开发语言·c#·.net
czhaii17 小时前
基于51单片机的Modbus从机通信系统
开发语言·单片机
elseif12318 小时前
【C++】vector 详细版
开发语言·c++·算法
codingPower18 小时前
JAVA后端安全进阶:基于HMAC-SHA256+Nonce+Timestamp的API防重放攻击方案
java·开发语言·spring boot·安全
暗冰ཏོ18 小时前
Go 语言从入门到后端项目实战完整指南
开发语言·后端·golang·go·go语言
Xin_ye1008618 小时前
C# 零基础到精通教程 - 第十七章:前端集成——Blazor 基础
开发语言·c#
LDR00618 小时前
LDR6020:多 Type‑C 端口角色管理与外设上电顺序的智慧核心
c语言·开发语言·云计算
小杍随笔18 小时前
【Rust 工具链管理完全指南:rustup toolchain 命令实战详解】
开发语言·后端·rust