C++ 中的 引用

引用调用(reference)·

引用是C特有的概念,它是程序设计语言发展的产物。C提供的引用应用于函数既满足使用时的简单方便,又保证执行的效率。C和C的函数调用的主要区别是C中使用了引用调用。

引用调用是函数传递参数的一种方式,使用引用调用,可以在子函数中对形参所做的更改对主函数中的实参有效。

引用可以看成是一种特殊类型的变量可以被认为是另一个变量的别名,就好比人的绰号一样,虽然名字不同,但所指向的人是一样的,所以引用还与指针有类似的地方。

举例如下:·

1
2
3
4
int i,j;
int &ri=i; //建立一个int型的引用ri,并将其初始化为变量i的一个别名
j=10;
ri=j; //相当于i=j;

注意事项·

需要注意的是:

  1. 声明一个引用时,必须同时对它进行初始化,使它指向一个已经存在的对象
  2. 一旦一个引用被初始化后,就不能改为指向其它对象(也就是说,一个引用只能被赋予一次定义,一个引用从它诞生之时起,就必须确定是哪个变量的别名,而且始终只能作为这个变量的别名不能另作他用)
  3. 引用也可以作为形参,作为形参时候,情况稍有不同,这是因为,形参的初始化不在类型说明时候进行,而是在执行主调函数的调用表达式时 ,才为形参分配内存空间,同时用实参来初始化形参。这样引用类型的形参就通过形实结合,成为实参的一个别名,对形参的任何操作也就会直接作用于实参。