EF360013-A431-4F21-B7E0-72379978E20F.png
#include <iostream>
int testFunc(){
int a = 10;
return a;
}
int& testFunc2(){
int a = 20;
return a;
}
int& testFunc3(){
static int a = 30;
return a;
}
int main(int argc, const char * argv[]) {
// insert code here...
std::cout << "Hello, World!\n";
int a1 = testFunc();
int a2 = testFunc2();
int& a3 = testFunc2();
int& a4 = testFunc3();
printf("a1:%d\n",a1);//a1:10
printf("a2:%d\n",a2);//a2:20
printf("a3:%d\n",a3);//a3:0
printf("a4:%d\n",a4);//a4:30
testFunc3() = 200;
int a5 = testFunc3();
printf("a5:%d\n",a5);//a5:200
printf("a4:%d\n",a4);//a4:200 a4获取的是全局变量的引用,所以当全局区值改变的时候,a4也发生改变了
int &a6 = a5;
return 0;
}