c++学习11 -- 引用返回值

#include <iostream>
using namespace std;


// 引用局部变量,操作的是非法空间,结果是未知的。
int &fun()
{
    int a = 12;
    return a;
}

int main()
{
    int &b = fun();  //语句执行完了之后,函数内的变量a会释放。
    cout << b << endl; //因此b现在引用的是一个非法空间。

    system("pause");
    return 0;
}

#if 0

引用与指针的区别:
1、引用声明必须要初始化,指针不需要。
2、引用初始化之后就不能引用其他空间了,指针可以指向其他空间。
3、引用不占存储空间,指针占用空间。
4、引用效率更高,指针是间接操作。
5、引用更安全,指针可以偏移。
 * 指针更灵活,直接操作地址,更通用c、c++&符号的三种作用:
1、声明变量的时候用&表示引用。
2、变量前面加上&,表示取地址。
37&8,表示位与运算。

#endif
原文地址:https://www.cnblogs.com/mohu/p/8963455.html