今天是第六天学习C++了。
正月初八,二月一号,按理说我应该回到学校了。我希望学习的时候,就认真学习。
2.3 引用做函数的返回值
引用作为函数的返回值。不要返回局部变量的引用。
void test01()
{
int a = 10;//局部变量存在四区中的栈区
}
int& test01()
{
int a = 10;//局部变量存在四区中的栈区
return a;//创建局部变量,并且用引用的方式返回这个局部变量
}
int main()
{
int &ref = test01();//ref是上面的a,a有一个别名,用ref来接受他
cout << "ref=" <<ref <<endl;//第一次结果正确,是因为编译器做了保留
cout << "ref=" <<ref <<endl;//第二次结果错误,因为a的内存已经释放
}
//2.函数的调用可以作为左值