1.引用的概念
引用是一个名称,可以作为某对象的别名。显然,在引用指向内存中的其他内容时,它必须类似与指针,但它与指针大不相同。与指针不同,不能声明引用但不初始化。因为引用是一个别名,所以在初始化引用时,必须提供另外一个对象,使用引用成为该对象的别名。另外,引用不能修饰为另一个对象的别名。一旦将引用初始化为某个变量的别名,在引用的生命周期中,就一直引用该变量。
2.引用的用法
(1)对于变量的引用
对一段空间,赋予两个及以上的名字,任何名字都可以对空间中的值进行修改。
我们对b的值进行修改,发现a的值可会发生变化。说明这段空间有a,b两个名字,都可以发生变化。
(2)对于函数参数的引用
在之前学习的交换函数中,我们需要通过指针才能进行实质的交换。
但是现在我们可以使用引用传参。
(3)函数返回值传参
返回临时变量的引用,就相当于直接返回x本身,与直接返回不同的是直接返回返回的是返回值的拷贝。
在这个代码中,我们可以发现没用x接受add函数,但是最后x的值发生了变化,是因为x成了临时变量的引用,所以当函数返回值变化时,x的值也会发生变化。
(4)在范围for中的使用
想要对范围for中的数值发生变化,只能使用引用。