引用变量就可以当做一个别名,就相当于一个变量有两个(或多个)名字,但是是同一个变量。
引用变量的定义:
在变量前加&
int x=3;
int &y=x;
注意:在定义引用变量时一定要初始化,声明别名的变量。
引用是不能改变的,例如上面的y只能是x的别名,不能更改为其他变量的别名。
const int &y=x;
对于const,不能通过别名更改变量值,但可以访问。
以下是引用的一个例子:
#include <cstdio>
#include <iostream>
using namespace std;
//a,b的初始值分别为3和4
int a=3,b=4,x;
//利用引用交换变量
void swap(int &x,int &y)
{
int t=x;
x=y;
y=t;
}
//返回值是引用
int &f()
{
return x;
}
int main()
{
swap(a,b);
printf("a=%d b=%d\n",a,b);
//返回的是一个引用即f()是x的别名,所以x等于5
f()=5;
printf("x=%d\n",x);
return 0;
}