在调用函数的时候,实参和形参进行结合,相当于把形参定义为实参的引用,因为引用与被引用的变量的地址一样,所以在函数体内对引用的改变也会引起对被引用变量的改变。
#include<iostream>
using namespace std;
void swap(int &x,int &y){
int temp;
temp=x;
x=y;
y=temp;
}
int main(){
int x=1,y=2;
cout<<"x="<<x<<" y="<<y<<endl;
swap(x,y);
cout<<"x="<<x<<" y="<<y<<endl;
return 0;
}
解释:
(1)void swap(int &x,int &y);语句就相当于对引用变量的定义
x=int &x;
y=int &y;
因为这里swap和main是不一样的函数,所以在这里引用变量的名字可以用被引用变量的名字
如果在一个函数里这样定义会报错
(2)在交换(swap)的过程中,只需要写x与y的相互交换,不需要再写为&x,&y。