引用,相当于给变量再起一个别名,和另一数据共享存储空间,例
#include <iostream>
using namespace std;
int main()
{
int a;
int & ref=a;
a=5;
cout<<"a: "<<a<<" ;ref: "<<ref<<endl;
ref = 8;
cout<<"a: "<<a<<" ;ref: "<<ref<<endl;
}
引用,最大的用处作为函数参数传递,就可以直接操作相对应的存储空间,而不是像普通函数参数传递一样存在一个拷贝的操作,见例
1、普通函数参数传递,本例中并不能交换a,b的值
#include <iostream>
using std::cout;
using std::endl;
void Swap(int x,int y);
int main()
{
int a,b;
a=10,b=20;Swap(a,b);
cout<<a<<" "<<b<<endl;
}
void Swap(int x,int y)
{
int t;t=x;x=y;y=t;
}
2、引用参数传递,相当于直接操作a,b变量
#include <iostream>
using std::cout;
using std::endl;
void Swap(int & x,int & y);
int main()
{
int a,b;
a=10,b=20;Swap(a,b);
cout<<a<<" "<<b<<endl;
}
//x与a等价,y与b等价
void Swap(int & x,int & y)
{
int t;t=x;x=y;y=t;
}
可以发现,引用参数传递的时候,只是在定义函数的参数不一样之外,其他和普通函数使用方法一致