2
3 using namespace std;
4
5 //结论:引用做返回值时,不要返回局部变量
6 int& getA()
7 {
8 int a=10;
9 return a;
10 }
11
12 int main()
13 {
14 int main_a1=getA();//int main_a1=int &temp=a=10
15 cout<<main_a1<<endl;//此时main_a1=10,此时int a会被系统回收
16 int &main_a2=getA();//int &main_a2=int &temp=a=10
17 cout<<main_a2<<endl;//此时main_a2=10,应为此时还没有压栈,main_a2还保留了之前的值
18 cout<<main_a2<<endl;//在这里进行压栈,此时main_a2的值就会变了
19
20 //引用可以作为左值
21 getA()=1000;
22 return 0;
23 }