#include <iostream>
using namespace std;
/*
引用做函数的返回值
作用:引用是可以作为函数的返回值存在的
注意:不要返回局部变量引用
用法:函数调用作为左值
*/
//1. 不要返回局部变量的引用
int& test01()
{
int a = 10; //报错
return a;
}
//2. 函数调用可以作为左值
int& test02()
{
static int a = 10;
return a;
}
int main()
{
int &ref = test01();
cout << "ref = " << ref << endl; //第一次正确是因为编译器做了保留
cout << "ref = " << ref << endl;
int &ref2 = test02(); //函数调用可以作为左值
cout << "ref2 = " << ref2 << endl;
cout << "ref2 = " << ref2 << endl;
test02() = 1000;
cout << "ref2 = " << ref2 << endl;
cout << "ref2 = " << ref2 << endl;
system("pause");
return 0;
}