欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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的值。

相关标签: C++学习笔记 c++