1、定义:
定义引用,像我们定义指针,实际上我们还可以理解是和定义其他对任何一个变量是一样的。
int *表示我们定义一个指向int型变量的指针,而int &表示我们定义一个int型变量的引用。
#include <iostream>
void swap(int &a, int &b)
{
a=a+b;
b=a-b;
a=a-b;
}
int main(int argc, char *argv[])
{
int a=1,b=2;
swap(a,b);
printf("a:= %d, b= %d \n", a, b);
return 0;
}
运行结果:
a:= 2, b= 1
另外一段代码,关于定义必须初始化到理解
#include <iostream>
int main(int argc, char *argv[])
{
int a=1;
int b=2;
//定义处必须初始化
int &r_a=a;
int &r_b=b;
r_a=r_a+r_b;
r_b=r_a-r_b;
r_a=r_a-r_b;
printf("after chg, a:= %d , b:= %d \n", a, b );
return 0;
}