在c语言中这个符号表示了取地址,但是在c++中它却有着不同的用途,掌握c++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。

一、引用简介

 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。

引用的声明方法:类型标识符 &引用名=目标变量名;

【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用即别名

说明:

(1)&在此不是求地址运算,而是起标识作用。

(2)类型标识符是指目标变量的类型。

(3)声明引用时,必须同时对其进行初始化。

(4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。

        ra=1; 等价于 a=1;

(5)声明一个引用,不是新定义了一个变量,他只是表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。故:对引用求地址,就是对目标变量求地址。 &ra与&a相等。

(6)不能建立数组的引用。因为数组是一个由若干个元素所组成的集合,所以无法建立一个数组的别名。

二、引用应用

  1. 引用作为参数

        引用的一个重要作用就是作为函数的参数。以前的c语言中函数参数传递是值传递,如果有大块数据作为参数传递的时候,采用的方案往往是指针,因为这样可以避免将整块数据全部压栈,可以提高程序的效率。但是现在(c++)又增加了一种同样有效率的选择(在某些特殊情况下又是必须的选择),就是引用。

【例2】:

    void swap(int &p1,int &p2)//此处函数的形参p1,p2 都是引用

    { int p; p = p1; p1=p2; p2=p;}

            为在程序中调用该函数,