游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2566|回复: 5

关于返回函数体内局部变量引用,指针的问题。

[复制链接]

6

主题

72

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2010-10-15 17:41:00 | 显示全部楼层 |阅读模式
RT,在C++ Primer里面说过,函数体内定义的局部变量,在函数调用后会自动释放其内存空间,如果你在其中返回其引用或指针,那么得到的结果是不可预料的。
我为此亲自试验了以下,发现并没有出现什么问题,而且在程序运行中打开任务管理器,发现函数调用后也并没有释放那些局部变量的内存空间,直到整个程序结束后才全部释放。是不是因为开发工具的版本的原因?我用的是VS 2008的控制台程序。

54

主题

2918

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2010-10-15 19:39:00 | 显示全部楼层

Re:关于返回函数体内局部变量引用,指针的问题。

这么做你的程序可能会不稳定,眼前没事不代表将来也没事。
建议你编程时还是守点规矩,不要这么乱玩…

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
发表于 2010-10-16 00:50:00 | 显示全部楼层

Re:关于返回函数体内局部变量引用,指针的问题。

任务管理器没那么准。

1

主题

266

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2010-10-16 15:37:00 | 显示全部楼层

Re:关于返回函数体内局部变量引用,指针的问题。

局部变量才多大啊,taskmgr哪能看得出来

这么做肯定是不行的

6

主题

72

帖子

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2010-10-17 16:25:00 | 显示全部楼层

Re:关于返回函数体内局部变量引用,指针的问题。

我是用的一个很大的数组,用动态分配回收的方法试过,这是可以看出来的。

6

主题

72

帖子

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2010-10-17 16:26:00 | 显示全部楼层

Re:关于返回函数体内局部变量引用,指针的问题。

大家不相信的还是用VS 2008试试吧。


不过,至少以后我还是不会这样去做的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-3 07:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表