C++初学者浅析变量引用的方法(实例分析)

首先看一段代码(实现两个变量值的互换):

一、无法实现互换的程序:

C++初学者浅析变量引用的方法(实例分析)
 1 #include<iostream>
 2 using namespace std;
 3 void swap(int a,int b)
 4 {
 5     int temp;
 6     temp=a;
 7     a=b;
 8     b=temp;
 9 }
10 int main()
11 {
12     int i=3,j=5;
13     swap(i,j);
14     cout<<i<<","<<j<<endl;
15     return 0;
16 }
View Code

二、实现互换的程序:

C++初学者浅析变量引用的方法(实例分析)
 1 一、
 2 //预先申明函数,顺序执行
 3 #include<iostream>
 4 using namespace std;
 5 void swap();//函数声明
 6 int main()
 7 {
 8     int i=3,j=5;
 9     swap(i,j);
10     cout<<i<<","<<j<<endl;
11     return 0;
12 }
13 void swap(int a,int b)
14 {
15     int temp;
16     temp=a;
17     a=b;
18     b=temp;
19 }
20 
21 二、
22 /*传值方式调用:
23     调用函数时把变量i和j的地址传送给形参(指针变量)p1和p2,
24     因此*p1/*p2和i/j为同一内存单元.
25     作为一种方法,在解决实际问题时比较麻烦。
26 */
27 #include<iostream>
28 using namespace std;
29 void swap(int *p1,int *p2)
30 {
31     int temp;
32     temp=*p1;
33     *p1=*p2;
34     *p2=temp;
35 }
36 int main()
37 {
38     int i=3,j=5;
39     swap(&i,&j);
40     cout<<i<<","<<j<<endl;
41     return 0;
42 }
43 
44 三、
45 /*引用方式调用:
46     在调用函数时,实参i、j传给形参a、b的是实参的地址;
47     使形参a/b和变量i/j具有同样的地址,从而共享同一单元。
48 */
49 #include<iostream>
50 using namespace std;
51 void swap(int &a,int &b)
52 //此处a、b不是它们的地址,而是对整型变量的引用
53 {
54     int temp;
55     temp=a;
56     a=b;
57     b=temp;
58 }
59 int main()
60 {
61     int i=3,j=5;
62     swap(i,j);
63     cout<<i<<","<<j<<endl;
64     return 0;
65 }
C++初学者浅析变量引用的方法(实例分析)

变量的引用在程序中有解释。以上为初学者的理解,诚请大神指教!

C++初学者浅析变量引用的方法(实例分析),布布扣,bubuko.com

C++初学者浅析变量引用的方法(实例分析)

上一篇:C++中类成员函数作为回调函数


下一篇:Windows下Python,setuptools,pip,virtualenv的安装