4.引用做函数返回值
作者:
lxr_ | 来源:发表于
2021-01-15 15:40 被阅读0次#include<iostream>
using namespace std;
//引用做函数的返回值
//1.不要返回局部变量的引用
int& test1()
{
int a = 10;//存于栈区
return a;
}
//2.函数的调用可以作为左值
int& test2()
{
static int a = 10;//静态变量存放在全局区,全局区上的数据在程序结束后系统进行释放
return a;
}
int main()
{
/*
int& ret = test1();
cout << "ret=" << ret << endl;//第一次结果正确,是因为编译器做了保留
cout << "ret=" << ret << endl;//第二次结果错误,因为a的内存已经被释放
*/
int& ret1 = test2();
cout << "ret=" << ret1 << endl;//程序未结束,static变量内存不会被释放
cout << "ret=" << ret1 << endl;//
test2() = 20;//可以作为左值,返回a的引用,即为a的别名,便可以修改a
cout << "ret=" << ret1 << endl;//
cout << "ret=" << ret1 << endl;//
system("pause");
return 0;
}
本文标题:4.引用做函数返回值
本文链接:https://www.haomeiwen.com/subject/boruaktx.html
网友评论