VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 253|回复: 5

数组的内存不应该是被回收了吗?为什么返回指向该数组的指针

[复制链接]
29_avatar_middle
最佳答案
0 
在线会员 发表于 2019-10-23 11:38:47 | 显示全部楼层 |阅读模式
char * func()
{
        char temp[10] = "lalala";
        char* pTemp = temp;

        return pTemp;
}
离开这个函数, 数组的内存被释放,为什么能够返回指向该数组的指针?




上一篇:关于字符的问题
下一篇:在第30课类的声明中,我采用如下代码实现,类里面的公开函数正确吗?
01_avatar_middle
最佳答案
38 
online_admins 发表于 2019-10-23 13:13:51 | 显示全部楼层
没释放,只是凑巧没被释放。
而且系统已经标识该内存可被再次使用了,一旦被别的变量占用了你后悔都来不及
不能这么返回,很危险。
29_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-10-23 13:28:59 | 显示全部楼层
admin 发表于 2019-10-23 13:13
没释放,只是凑巧没被释放。
而且系统已经标识该内存可被再次使用了,一旦被别的变量占用了你后悔都来不及 ...

谢谢。最近在学习使用C++日志类,它的GetCurrentTime()函数里面就是这样返回存储时间的数组地址。我又问了一个朋友都说没问题, 搞得我就比较懵。
29_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-10-23 13:30:01 | 显示全部楼层
admin 发表于 2019-10-23 13:13
没释放,只是凑巧没被释放。
而且系统已经标识该内存可被再次使用了,一旦被别的变量占用了你后悔都来不及 ...

https://www.300168.com/biancheng/show-19828.html
原文地址
01_avatar_middle
最佳答案
38 
online_admins 发表于 2019-10-23 13:44:47 | 显示全部楼层
千年的希望 发表于 2019-10-23 13:30
https://www.300168.com/biancheng/show-19828.html
原文地址

文章的作者本身就不是什么大牛,文章写的肯定有问题,局部数组变量就把地址返回去了这个肯定不行!
让谁来看都是危险的,千万别这么做!
29_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-10-23 15:00:38 | 显示全部楼层
admin 发表于 2019-10-23 13:44
文章的作者本身就不是什么大牛,文章写的肯定有问题,局部数组变量就把地址返回去了这个肯定不行!
让谁 ...

谢谢你。目前这个log类够用了, 我会注意这个问题的。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-25 11:26

Powered by CcTry.CoM

© 2009-2020 cctry.com

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