程序退出后,new的内存会释放吗

十毛 2013-01-12 12:39:47
如题,程序中有new的几个对象,不知道在程序退出后操作系统是否会释放该部分内存。Google了一下,有的人说哪怕程序退出,该内存也不释放,但是我很怀疑。难道操作系统没有能力知道哪些内存是由哪个程序分配的吗? 请求权威一点的答案
...全文
1579 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
明湖居士2018 2013-01-12
  • 打赏
  • 举报
回复
OS会帮你回收,但是你自己最好记得用delete释放,这是你该干的事情。
raymefun 2013-01-12
  • 打赏
  • 举报
回复
这个没有疑问啊
smilenot 2013-01-12
  • 打赏
  • 举报
回复
会的 进程都销毁了,就什么都没有了
laqhelen 2013-01-12
  • 打赏
  • 举报
回复
得你自己用delete释放。
RobertC 2013-01-12
  • 打赏
  • 举报
回复
楼上说的都对 哈哈
SKATE11 2013-01-12
  • 打赏
  • 举报
回复
程序运行中不会释放 程序退出后就释放了 楼主可以自己写个死循环把内存耗干 然后退出就知道了
bljswpu 2013-01-12
  • 打赏
  • 举报
回复
必须的会呀 程序都结束了 就不占用内存了
crazy_samba 2013-01-12
  • 打赏
  • 举报
回复
会释放,因为是在进程地址空间内
Joseph_1118 2013-01-12
  • 打赏
  • 举报
回复
会! 但是如果你的程序是一个常驻内存的,随着你程序的运行可能内存就吃紧了
niushitang 2013-01-12
  • 打赏
  • 举报
回复
肯定能释放,但是要养成delete的好习惯
lin5161678 2013-01-12
  • 打赏
  • 举报
回复 1
会释放 不用怀疑 但是 你有new操作 自己就加delete操作 这个是程序员的责任 不用推给编译器
十毛 2013-01-12
  • 打赏
  • 举报
回复
谢谢,因为是一个Singleton,所以我不准备手工delete它。想着反正只有一个对象,应该没什么问题吧
蒋晟 2013-01-12
  • 打赏
  • 举报
回复 2
房子要爆破拆迁了,不用扫地。当然如果你内存里有没保存的缓存数据要写出去。

65,170

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧