#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、变量前面加上&,表示取地址。 3、7&8,表示位与运算。 #endif