C++的引用用法
C++中的引用其实就是变量名的一个别名,比如说定义一个整型变量a,int a,这时候则可以给变量名a去一个别名,格式为:
int a;
int& b=a;//这句话的含义是a是一个初始化定义为b的整型引用
引用常用在函数的形参中和函数的返回值
1.引用用在函数的形参中:
//两个变量之间的值相互交换
#include <iostream>
using namespace std;
int swap(int&,int&);
int main()
{
int m=1,n=2;
swap(m,n);
cout<<m<<" "<<n<<endl;
return 0;
}
int swap(int& a,int& b)//分别定义别名a和别名b,类型为Int。
{
int temp;
temp=a;
a=b;
b=temp;
return 0;
}
输出结果:
2 1
上述swap()函数代码的运行过程中,其实是将a代替为整型变量m,a指向的整型变量m的内存地址,如果改变a的值,其实就是在改变变量m的值:b的原理相同。
2.引用用在函数的返回值中:
#include <iostream>
using namespace std;
int arr[4]={0,1,2,3};
int& s(int i);
int main()
{
for(int a=0;a<sizeof(arr)/4;a++)
{
cout<<"before:"<<endl;
cout<<arr[a]<<endl;
}
for(int a=0;a<sizeof(arr)/4;a++)
{
s(a)=a+2;
cout<<"after:"<<endl;
cout<<arr[a]<<endl;
}
return 0;
}
int& s(int i)
{
return arr[i];
}
输出结果:
before:
0
before:
1
before:
2
before:
3
after:
2
after:
3
after:
4
after:
5
上述过程中int& s(int i)返回的是一个指向arr[]数组的隐形指针。