1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| // C++ 的标准输入,输出头文件 #include<iostream>
void swap_1(int *a, int *b){ int c; c = *a; *a = *b; *b = c; }
// 通过引用进行交换 // a和b此时不再是进行值传递,而是通过了引用传递 // 此时的a和b就是调用处的传进来的参数,而不是新的变量 void swap_2(int &a, int &b){ int c; c = a; a = b; b = c; }
// 引用的主要作用是作为函数的参数和返回值: // 1,通过引用进行调用,比通过指针调用更加简便,省去了添加*,进行取值 // 2,通过引用作为参数传递,可以直接传递原值,在函数中直接操作源参数,减少参数传递过程中产生的副本,提高效率 // 3,我们可以直接通过引用操作源变量,而指针必须通过取值(*p)才能间接操作,且从可读性上讲,指针更差; void changeAge(Teacher &t){ t.age = 100; }
void main(){ int x = 10, y = 20;
cout << "a = " << x << "b = " << y << endl;
// 通过指针进行值交换 swap_1(&x, &y); cout << "a1 = " << x << "b1 = " << y << endl;
// 通过引用进行值交换 swap_2(x, y); cout << "a2 = " << x << "b2 = " << y << endl;
system("pause"); }
|