C++中引用的应用:
对于以下三个swap函数的调用观察输出结果a,b是否会交换
#include <cstdio>
23 using namespace std;
4
5 void swap1(int x,int y);
6 void swap2(int *x,int *y);
7 void swap3(int &x,int &y);
8
9 int main()
10 {
11 int a = 1,b = 2;
12
13 swap1(a,b);
14 printf("a = %d b = %d\n",a,b);
15
16 swap2(&a,&b);//引用传值
17 printf("a = %d b = %d\n",a,b);
18
19 swap3(a,b);
20 printf("a = %d b = %d\n",a,b);
21
22 return 0;
23 }
24
25 void swap1(int x,int y)
26 {
27 int temp = x;
28 x = y;
29 y = temp;
30 }
31
32 void swap2(int *x,int *y)
33 {
34 int temp = *x;
35 *x = *y;
36 *y = temp;
37 }
38
39 void swap3(int &x,int &y)
40 {
41 int temp = x;
42 x = y;
43 y = temp;
44 }