读书人

请问一个关于引用变量的有关问题!

发布时间: 2012-04-11 17:42:33 作者: rapoo

请教一个关于引用变量的问题!!!
一个函数可以返回一个引用变量吗?下面的代码中为什么能运行啊????

[code=C/C++][/code]
char & operator [](int i)
{
static char ch=0;
if(i<Length&&i>=0)
{

return Buff[i];
}

else
{
cout<<"\nIndex out of range";
return ch;
}

}

[解决办法]
楼主将以前的帖子结了 帮助你的人会多点~ ~

不能返回的是临时变量的引用。
[解决办法]
你这里定义的是一个局部静态变量。
局部静态变量的作用域是局部的,但生命周期是全局的,不会随着函数返回而消逝。
所以你返回它是没错的。

如果去掉static声明,就不对了,那时应该返回值,而不是引用。

读书人网 >C++

热点推荐