引用是C++提供了一种给函数传递地址的途径,引用的本质就是给一个已经定义好的变量取一个别名。
语法:
(1) &和别名结合表示引用
(2) 给某个变量去别名就定义某个变量
(3) 从上往下替换
(4) 引用必须初始化
(5) 引用一旦初始化就不能再次修改别名
程序实例:
#include <iostream> using namespace std; int main() { int i; int &j = i;// 引用 i= 30; cout<<"i = "<<i<<"j="<<j<<endl; j=80; cout<<"i="<<i<<"j="<<j<<endl; cout<<"i的地址:"<<&i<<endl; cout<<"j的地址:"<<&j<<endl; return 0; } |
输出结果:
i = 30 j=30
i=80 j=80
i的地址:0x61fe78
j的地址:0x61fe78
i和j 的值同步更新,并且使用了同一个地址
(1)引用名可以使用任何合法的变量名,在声明引用时必须立即初始化,不能声明完成之后再赋值。
void test_refrenc_no_init(void) { int m; int &n; n = m; } |
(2)为引用提供的初始值可以是一个变量或者另外一个引用
void test_refrence_as_init_value(void) { int val = 5; int &val_ref1 = val; int &val_ref2 = val_ref1; } |