引用 :用来给一个对象提供一个替代的名字.两个名字都代表同一个值。 特点说明: 传递引用给函数与传递指针效果是一样的,形参变化实参也发生变化。 引用类型做形参,在内存中
引用:用来给一个对象提供一个替代的名字.两个名字都代表同一个值。
特点说明:
- 传递引用给函数与传递指针效果是一样的,形参变化实参也发生变化。
- 引用类型做形参,在内存中并没有产生实参的副本,它直接对实参操作;而一般变量做参数,形参与实参占用不同的存储单元;因此,当参数传递的数据量较大时,用引用的时间和空间效率更好。
- 引用的阅读性比指针参数好。
例子:
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 }
结果:
交换成功!