引用:用来给一个对象提供一个替代的名字.两个名字都代表同一个值。
特点说明:
- 传递引用给函数与传递指针效果是一样的,形参变化实参也发生变化。
- 引用类型做形参,在内存中并没有产生实参的副本,它直接对实参操作;而一般变量做参数,形参与实参占用不同的存储单元;因此,当参数传递的数据量较大时,用引用的时间和空间效率更好。
- 引用的阅读性比指针参数好。
例子:
1 #include <iostream>
2 #include<stdio.h>
3
4 using namespace std;
5 //传地址方式 - 引用类型做参数
6
7
8 int main()
9 {
10 int i=5;
11 int &j = i;
12
13 printf("修改前:i=%d, j=%d\n", i, j);
14
15 i=7;
16 printf("修改后:i=%d, j=%d\n", i, j);
17
18 return 0;
19 }
结果:

交换两变量的值:
1 #include <iostream>
2 #include<stdio.h>
3
4 using namespace std;
5 //传地址方式 - 引用类型做参数
6 void swap_yinyong(int &m, int &n){
7 int t;
8 t = m;
9 m = n;
10 n = t;
11 }
12
13 int main()
14 {
15 int a=3,b=5;
16
17 printf("交换前:a=%d, b=%d\n", a,b);
18
19 swap_yinyong(a,b);
20 printf("交换后:a=%d, b=%d\n", a,b);
21
22 return 0;
23 }
结果:

交换成功!