1、概念:引用不是定义一个新的变量,而是给已存在的变量取一个别名,编译器不会为引用变量开辟内存空间,引用变量与变量实体共用同一块内存空间。
2、格式:类型& 名字=变量实体
注意:引用变量与实体变量的类型必须一致。
3、特性:
<1>引用在定义时必须初始化;
<2>一个变量可以有多个引用,修改其中一个,则全部发生变化;
<3>引用一旦引用了一个实体,再不能引用其他实体。
<4>const类型的引用变量,不能通过引用变量来修改实体,其可引用变量也可引用常量。
<5>const类型的变量必须用const类型的引用变量来引用。
4、使用场景
<1>直接给一个变量取别名;
<2>做函数的参数:在传参时,编译器不需要给形参开辟新的内存空间,形参与实参指向同一块内存空间,执行函数体,若形参发生变化,实参也同样发生改变。
void swap(int& left, int& right)
{
int temp = left;
left = right;
right = temp;
}
int main()
{
int a = 10;
int b = 20;
swap(a, b);
return 0;
}
<3>做函数的返回值。注意观察ret1值的变化,