标题:关于利用引用返回返回静态局部变量有点问题
取消只看楼主
shangke
Rank: 1
等 级:新手上路
帖 子:23
专家分:5
注 册:2009-8-3
结帖率:100%
已结贴  问题点数:20 回复次数:2 
关于利用引用返回返回静态局部变量有点问题
#include <iostream>
using namespace std;
int & func()
{
static int a; //静态局部变量a的生命周期是全局的
return a;//返回一个生命周期长于func函数执行期的变量
}
int main()
{
int &ra=func(); //ra为静态变量的别名
cout<<func()<<endl; //输出0 ,静态变量默认为0
func()+=8;     //作为左值使用
cout<<func()<<endl;//输出8
ra +=10;                  // 丧失了局部可见性
cout<<func()<<endl;//输出18
return 0;
}

代码中第3行的int & func() 是否是引用变量的定义?,我知道声明是需要绑定一个变量实体,这个我感觉像定义


在此先谢谢各位大牛了

[[it] 本帖最后由 shangke 于 2009-8-3 15:52 编辑 [/it]]
搜索更多相关主题的帖子: 变量 局部 静态 
2009-08-03 15:44
shangke
Rank: 1
等 级:新手上路
帖 子:23
专家分:5
注 册:2009-8-3
得分:0 
回复 2楼 CrystalFan
是的嘿嘿   第3行是定义吧

我的博客:http://hi.baidu.com/hk_csm
2009-08-03 15:53
shangke
Rank: 1
等 级:新手上路
帖 子:23
专家分:5
注 册:2009-8-3
得分:0 
回复 5楼 CrystalFan
哦 我明白了非常谢谢您的指导

我的博客:http://hi.baidu.com/hk_csm
2009-08-04 14:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-281428-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034467 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved