//引用定义:相当于给变量起别名

    int a = 1

    int &b = a;

   //这时, 操作 变量b, 就是操作的变量a的地址, 变量a的值也会跟着改变,

// 引用做函数的参数

        /*定义函数*/

       void 函数名(int c){

           输出 c

        }

       /*调用函数*/

       int a = 1;

       函数名(a)

/*

当调用上面函数时, 就相当于在函数体内  定义了一个   c = a

所以  当定义函数时  写成   函数名(&c){} ,

就相当于在函数体内写了一个    &c = a

此时,相当于给a变量起了一个别名:c

改变c的值,a也会改变

相当于只是传递了一个a的地址.

*/


引用的本质


int a = 10;

int &ref = a; /*定义一个引用,相当于给变量a起了一个别名:ref

              编译器内部会转换成:

              int* const ref = &a

              */

 

ref = 20;//内部发现ref是引用,自动帮我们转换成: *ref = 20


注意事项:

引用必须要初始化

引用一旦初始化,就不可以修改