//引用定义:相当于给变量起别名
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
注意事项:
引用必须要初始化
引用一旦初始化,就不可以修改