C++语言学习记录补充:引用的一种特殊用法
程序员文章站
2022-06-10 08:26:54
...
引用也可以作为函数的左值被使用。
int& func()
{
static int a = 10;
return a;
}
int main()
{
func()=100;//函数作为左值
int &ref = func();
cout<<ref;
}
以上代码的运行结果为1000,但是静态变量a本来是0,所以返回的值也应该是10才对。
这里的代码运行方式如下:
在主函数中调用了函数func,从中获得了a,切func的返回值就是为a,但是由于func本身是一个引用类型的函数,因此返回的func本身就是一个a的引用,在后面的函数作为左值的步骤中,func()作为引用被重新赋值,也就相应的改变了静态变量a的值。
上一篇: 如何为Repository添加自定义方法
下一篇: SecureCRT的下载、安装详细过程