有关内存泄露没泄露的问题

thulongkang 2012-07-25 11:37:25
我使用VS2010来编写一段代码,其中涉及到动态内存的分配,例如int *pt=new int[100];但是没有写delete语句。
在debug模式(绿色按钮左边进行调整)下,我按F5,进行调试,如果我直接关闭黑框,那么编译器是不是会帮我回收这段内存?
在release模式(绿色按钮左边进行调整)下,我按F5,进行调试,如果我直接关闭黑框,那么编译器也是不是会帮我回收这段内存呢?求解释。

如果我没有进行调试,按ctrl+F5,是不是内存就泄露了啊?
...全文
157 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
thulongkang 2012-07-26
  • 打赏
  • 举报
回复
楼上说得云里雾里的,没明白。
thulongkang 2012-07-26
  • 打赏
  • 举报
回复
楼上说得云里雾里的,没明白啊
赵4老师 2012-07-26
  • 打赏
  • 举报
回复
操作系统 之 进程管理
ACs_kaka 2012-07-26
  • 打赏
  • 举报
回复
回收机制是程序员必须要遵守的好习惯~
cbzjzsb123 2012-07-26
  • 打赏
  • 举报
回复
如果不是循环内存分配,一次分配最后不释放没关系,进程结束全部都会回收的(保护模式操作系统下)

所以,一些用完就退的软件干脆就不做擦屁股的工作

但是如果是dos这种系统,就会有问题
jjajun 2012-07-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
引用 6 楼 的回复:

不管是debug模式还是release模式

程序在运行的时候用new 申请任意多少的内存,程序员自己负责在何时用delete 释放内存。
动态内存的生存期由程序员决定。

所以当你new出内存后,一定要记得free不然后导致内存泄露
我想说的是你对编译器了解太少了~
[/Quote]

lz是你自己了解太少了,ls说的都是对的。
只是你的new 进程退出之后,系统会帮你回收new出的内存的,和编译器没有任何关系。请不要和编译器拉上关系。
但是,如果你的进程没有退出,一旦你的new所在的函数被多次调用,那么就会发生内存泄露
thulongkang 2012-07-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

不管是debug模式还是release模式

程序在运行的时候用new 申请任意多少的内存,程序员自己负责在何时用delete 释放内存。
动态内存的生存期由程序员决定。

所以当你new出内存后,一定要记得free不然后导致内存泄露
[/Quote]我想说的是你对编译器了解太少了~
红叶松林 2012-07-26
  • 打赏
  • 举报
回复
不管是debug模式还是release模式

程序在运行的时候用new 申请任意多少的内存,程序员自己负责在何时用delete 释放内存。
动态内存的生存期由程序员决定。

所以当你new出内存后,一定要记得free不然后导致内存泄露
wyfwx 2012-07-26
  • 打赏
  • 举报
回复
os回收回京城的内存
jackyjkchen 2012-07-25
  • 打赏
  • 举报
回复
如果不是循环内存分配,一次分配最后不释放没关系,进程结束全部都会回收的(保护模式操作系统下)

所以,一些用完就退的软件干脆就不做擦屁股的工作

但是如果是dos这种系统,就会有问题
imlab 2012-07-25
  • 打赏
  • 举报
回复
如果你new了后没有delete,在一般情况下会造成内存泄漏;
如果当这个所在new的进程关闭后,那么操作系统会帮助你释放掉该段内存。

你这里所说的,不是编译器帮你,而是操作系统帮你回收内存。
imlab 2012-07-25
  • 打赏
  • 举报
回复
如果你new了后没有delete,在一般情况下会造成内存泄漏;
如果当这个所在new的进程关闭后,那么操作系统会帮助你释放掉该段内存。

你这里所说的,不是编译器帮你,而是操作系统帮你回收内存。

65,186

社区成员

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

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