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

相关推荐
郝学胜-神的一滴10 分钟前
Leetcode 969 煎饼排序✨:翻转间的数组排序艺术
数据结构·c++·算法·leetcode·面试
毕设源码-邱学长6 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°6 小时前
PHP框架漏洞
开发语言·php
炸膛坦客7 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生8 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
炸膛坦客9 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲9 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
Jay_Franklin9 小时前
Quarto与Python集成使用
开发语言·python·markdown
2401_831824969 小时前
代码性能剖析工具
开发语言·c++·算法
是wzoi的一名用户啊~10 小时前
【C++小游戏】2048
开发语言·c++