// 引用的使用
// 引用的本质是指针常量，所以引用的空间大小和指针相同，都是 8 个字节
// 引用的本质是指针常量，所以引用的指向不能改变，但是指向的值可以改变
// 引用的本质是指针常量，所以引用在定义时必须初始化，且不能再引用其他变量
// int a = 10;
// int &aa = a; // int * const aa = &a;
#include <iostream>

using namespace std;

int main()
{
    // 定义引用时，必须给初始化值，另外，定义之后引用不能再引用其他变量
    int a = 10;
    int &b = a; // 对 a 的引用
    b += 20;    // 相当于 a += 20
    cout << "a: " << a << " b: " << b << endl;

    int &c = a;
    cout << "a: " << a << " b: " << b << " c: " << c << endl;

    int &d = b;
    cout << "a: " << a << " b: " << b << " c: " << c << " d: " << d << endl;

    int x = 100;
    c = x;
    cout << "c: " << c << endl;

    return 0;
}
