问个小问题,int中如果提前return,数组等等数据会不会自动析构?

martinfa 2011-12-11 02:17:19
问个小问题,VC6中 int函数中中如果提前return,数组,int,string,double会不会自动析构?

会产生内存泄露么?
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
martinfa 2011-12-11
  • 打赏
  • 举报
回复
肯定没执行到delete,那我在提前return的情况下先执行一个delete命令就行了。。。。
谢谢
对象 2011-12-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 martinfa 的回复:]

引用 1 楼 linuxtiger 的回复:
一般不会,如果你在一个逻辑分支内return,那么编译器会把之前压入栈中的空间全部释放掉。数组的话,要看动态还是静态,还要看上下文,具体问题具体分析了。


一般不会内存泄露?还是一般不会自动析构?

数组这样的 string* t = new string[LINES];
[/Quote]

普通的变量肯定会自动析构,你给的那个动态数组必须要看执行到delete没有,如果没执行到,那就是内存泄露。
martinfa 2011-12-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 linuxtiger 的回复:]
一般不会,如果你在一个逻辑分支内return,那么编译器会把之前压入栈中的空间全部释放掉。数组的话,要看动态还是静态,还要看上下文,具体问题具体分析了。
[/Quote]

一般不会内存泄露?还是一般不会自动析构?

数组这样的 string* t = new string[LINES];
对象 2011-12-11
  • 打赏
  • 举报
回复
一般不会,如果你在一个逻辑分支内return,那么编译器会把之前压入栈中的空间全部释放掉。数组的话,要看动态还是静态,还要看上下文,具体问题具体分析了。

64,648

社区成员

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

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