1:引用使用时必须初始化,同时初始化后就不能更改

alt alt

2:不要返回局部变量引用

alt alt

**### 第一次能够输出是因为编译器帮你保存了

为啥不能输出是因为函数中的局部变量存放在栈区**

3:如果函数返回引用返回值时,可以作为左值

alt alt

等价于直接修改被引用的对象a

4:直接作为函数的形参,能够改变实参的值,同时还能避免拷贝,提高函数的性能

void swap(int& a, int& b) {
    int temp = a;
    a = b;
    b = temp;
}

int x = 5, y = 10;
swap(x, y);  // x和y的值被交换