#include <iostream>
using namespace std;
int & sum() {
int num = 10;
int& rNum = num;//rNUm生存周期在sum()函数内
return rNum;//返回一个局部的引用类型的变量,记住不要返回 局部变量的引用
}
void test() {
int x = 1;
int y = 2;
int z = 3;
}
int main() {
int& result = sum();//局部变量的引用
test();
cout << "返回局部变量的引用" << result<<endl;
return 0;
}
#include <iostream>
using namespace std;
int & sum(int &num1,int &num2) {
num1++;
num2++;
return num1;
}//注意绝不能返回num1+num2这种开辟新内存空间的值,只能返回num1或者num2
函数可以不反回,默认返回传入的引用对象本身(本例默认返回num2)
返回引用时,要求函数参数中包含被返回的引用对象
int main() {
int num1 = 0;
int num2 = 8;
int& result = sum(num1,num2);//局部变量的引用
cout << "result=" << result << endl;
return 0;
}
#include <iostream>
using namespace std;
int & sum(int &num) {
num++;
return num;
}
int main() {
int num = 10;
int& result = sum(num);//局部变量的引用
sum(num) = 500;//高能:将常量赋值给函数;等价于result成为500的别名,result不再指向sum(),而 是指向500这个常量内存单元
cout << "result=" << result << endl;
return 0;
}