m0_63498822 2023-02-06 15:49 采纳率: 90.2%
浏览 25
已结题

delete 释放内存

int * p = new int;
delete p;释放的到底是p指向的这块内存里面的内容(即这块内存依然存在,只是内容清空了),还是这块内存被销毁了

  • 写回答

5条回答 默认 最新

  • 於黾 2023-02-06 15:59
    关注

    既不是清空也不是销毁
    首先销毁就扯淡了,多销毁几次你8G内存剩4G了,再销毁没了,就离谱
    也没有清空,数据其实还在里面
    所谓释放,就是告诉系统可以把内存重新分配给别的变量了,此时所有指向这个内存的指针都变成了野指针
    -=-=-=-=
    打个比方,你的房子租出去了,租约到期了
    此时房子并没有被销毁,也没有清空,只不过随时会有新的客人住进来,里面所有物品随时可能会发生变化

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 2月14日
  • 已采纳回答 2月6日
  • 修改了问题 2月6日
  • 创建了问题 2月6日

悬赏问题

  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥15 小红薯封设备能解决的来
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'
  • ¥15 vue+element项目中多tag时,切换Tab时iframe套第三方html页面需要实现不刷新
  • ¥50 深度强化学习解决能源调度问题
  • ¥15 一道计算机组成原理问题