首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请你说说 delete 和 free 的区别
[问答题]
请你说说 delete 和 free 的区别
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(249)
分享
纠错
20个回答
添加回答
9
WeberCheng
描述有错误
发表于 2023-02-06 00:33:48
回复(0)
9
牛客72378976号
delete 是运算符,是关键字需要编译器,free是库函数,需要头文件。delete 先调用析构函数,后释放内存;free 只能释放内存。
发表于 2022-08-11 15:52:38
回复(0)
4
牛客731584785号
C/C++中的free和delete区别 1.free是一函数,它在C/C++中主要的作用是释放掉malloc和new操作符分配的内存 2.delete是运算符,它只存在C++中用于释放,会调用析构函数 3.delete运算符搭配new关键字使用 4.free函数搭配malloc库函数使用
发表于 2023-10-14 11:45:05
回复(0)
0
vwei
delete和free的区别: 1、delete是操作符,free是函数 2、delete用来释放new分配的空间,free用来释放malloc的空间 3、delete会调用对象的析构函数,free不会 4、使用delete时不需要检查指针是否为NULL,free需要
编辑于 2024-04-08 19:39:21
回复(0)
0
MasterAA
delete是C++独有的关键字,与new配合使用,delete根据不同情况会调用不同的opertaor delete,而opertaor会调用free,free是libc中的一个函数,用于释放malloc获取的内存。
发表于 2024-03-29 19:02:10
回复(0)
0
代码要笑着写
delete对应调用new分配的内存空间,对于复杂数据类型它会调用对方的析构函数,如果delete出错会抛出异常;delete本身是一个操作符,而free是一个函数,delete底层也会调用free释放分配的内存
发表于 2024-03-28 11:27:53
回复(0)
0
Guojiahui
delete是操作符,free是标准库函数。delete用于释放new出来的空间,free是用来释放malloc的空间;free不会调用析构函数,delete会
编辑于 2024-03-19 10:24:34
回复(0)
0
跑不动的木易
delte是操作符,free是函数,delte用于释放new分配的空间,free用于释放malloc分配的空间,free不会调用对象的析构函数,而delete会调用对象的析构函数,调用free之前需要检查是否为空指针
编辑于 2024-02-04 22:18:56
回复(0)
0
16651651
delete 释放了内存 也删除了指针占的地址,free 单纯释放所占内存
编辑于 2024-01-29 03:24:31
回复(0)
0
牛客393524079号
delete 是关键字操作符,free 是库函数 delete 释放new 分配的空间,free 释放 mallco分配的空间 delete 会调用析构函数,free 只释放内存
发表于 2023-11-11 13:18:58
回复(0)
0
雏鹰划空
1. delete是操作符,可以重载; free是函数。 2. delete 释放new分配的内存; free释放malloc分配的内存;delete底层调用free; 3. delete释放对象的时候,不会判断是否为空,而且会调用析构函数,而free会判断NLL
发表于 2023-11-09 22:17:21
回复(0)
0
理智的豹子要发财
delete是关键字,free是函数 delete用于释放new开辟的空间,free用于释放malloc开辟的空间 delete会调用析构函数,free不会 delete释放内存不需要检查指针是否为空,free需要
发表于 2023-11-08 18:51:15
回复(0)
0
小刘不要晚睡
1
发表于 2023-10-10 22:41:42
回复(0)
0
cppers
1.delete是操作符,而free是函数 2.delete是释放new出来的内存空间,而free是释放malloc出来的内存空间 3.delete调用了析构函数,而free没有调用析构函数
发表于 2023-09-13 16:13:30
回复(0)
0
喜欢吃蛋糕马里奥又在摸鱼
delete会先调用析构函数,再调用free,delete是运算符,可以被重载。
发表于 2023-09-01 21:43:53
回复(0)
0
牛客275374132号
deleta是运算发,是关键字需要编译器 而free时函数,需要头文件 delete用于释放new分配的空间,free由用释放malloc分配的空间 free会不会调用对象的析构函数,而delete会调用对象的析构函数 调用free之前需要检查要释放的指针是否为NULL,使用delete释放内存则不需要检查指针是否为NULL
发表于 2023-08-19 13:54:41
回复(0)
0
Mr☆Rabbit♂
delete是运算符,free是函数;delete和new配对使用,free和malloc配对使用;delete会调用析构函数,free不会
发表于 2023-08-13 09:41:59
回复(0)
0
hcodeboy
1. delete与new配合使用,释放使用new开辟的内存空间;free与malloc搭配使用,释放malloc开辟的内存空间 2. delete 底层是通过free实现的
发表于 2023-08-11 16:22:37
回复(0)
0
踏实的懒羊羊说我这儿没问题啊
1、delete是运算符,free是函数 2、delete会调用析构函数,free不会 3、delete不会检查指针是否为NULL,free会检查 4、delete搭配new使用,free搭配malloc使用 5、delete属于C++的关键字,C没有delete
发表于 2023-07-12 16:39:43
回复(0)
0
牛客343869412号
Delete在释放堆缺的空间的时候,它除了会把空间释放,还会将那个指针修改为null。而且free,只会释放该空间并不会修改该指针的值。 Delete是一个关键字,free是一个函数。
发表于 2022-10-20 09:41:34
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
操作系统
上传者:
real19931
难度:
20条回答
249收藏
2748浏览
热门推荐
相关试题
有两个N*N的矩阵A和B,想要在P...
阿里巴巴
操作系统
评论
(38)
来自
阿里巴巴2015实习生笔试题
请编写实现malloc()内存分配...
微软
C++
操作系统
评论
(3)
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题