C++语言程序设计

引用实际上是一种隐式指针，它为变量建立一个别名。引用定义一般形式如下：
类型 &变量＝变量；
这里的"类型"可以是基本的数据类型，也可以是用户自己定义的类型，赋值号左边的"变量"是引用变量名，它是赋值号右边"变量"的别名。
引用变量只是它所引用的变量的别名，对它的操作与对原来变量的操作具有相同的作用。举例如下：
int i=0;
int &ref=i;
ref=2;
上面的语句首先定义了一个整型变量i和一个引用变量ref，它是变量i的别名。那么对i的操作和对ref的操作的结果完全一样。语句"ref=2;"把2赋值给ref，实际上也改变了i的值。还有一点需要注意的是：引用必须在定义的时候初始化，如果先定义，后赋值编译时会出错。引用除了用变量初始化外，还可以用常量来初始化。 引用可以作为函数参数进行传递，称为引用传递。书中用交换两个变量值的三个函数为例，清楚地说明了值传递、指针传递、引用传递三种方式是如何工作的。
下面再举一个例子说明引用的使用：

| 例7-16

#include <iostream.h>
int main()
{
int a;
int &ref=a;
a=10;
cout<<a<<"---"<<ref<<endl;
a=100;
cout<<a<<"---"<<ref<<endl;
int b=20;
ref=b; //把b的值赋给a
cout<<a<<"---"<<ref<<endl;
ref--;
cout<<a<<"---"<<ref<<endl;
return 0;
}

程序运行输出结果如下：
10---10
100---100
20---20
19---19
程序中定义了一个引用变量ref，它实际上是整型变量a的一个别名。对ref的任何操作等价于对a的操作。