C++新增了一种新的复合类型——引用变量,引用是已定义的变量的别名。引用变量的主要用途是作为函数的形参,通过将引用变量作为参数,函数将使用原始数据,而不是其拷贝。
int rats;
int &rodents=rat;//允许rats和rodents互换——它们指向相同的值和内存单元。
其中&不是地址操作符,而是类型标识符的一部分,就像声明中的char*是指向char的指针一样,int&是指向int的引用。
指针和引用:
int rats=101;
int &rodents=rats;
int *prats=&rats;
表达式rodents和*prats都可以同rats互换,&rodents和prat都可以同&rats互换。
引用与const指针更为相似,都必须在创建时进行初始化,一旦与某个变量关联起来,就不改变。
也就是说int &rodents=rats;实际上是int* const ps=&rats的伪装表示。
int rats=101;
int *pt=&rats;
int &rodents=*pt;
int bunnies=50;
pt=&bunnies;
在这段代码中,rodents初始化为*pt,使得rodents指向rats,接下来将pt改为指向bunnies,并不能改变rodents引用的是rats。