首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

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

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

[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声明,就不对了,那时应该返回值,而不是引用。

热点排行