|
@@ -0,0 +1,71 @@
|
|
|
+//引用做函数参数
|
|
|
+//作用 : 函数传参时,可以利用引用的技术让形参修饰实参
|
|
|
+//有点 ; 可以简化指针修改实参
|
|
|
+
|
|
|
+#if(0)
|
|
|
+
|
|
|
+#include <iostream>
|
|
|
+
|
|
|
+//交换函数
|
|
|
+
|
|
|
+//1、值传递
|
|
|
+void mySwap01(int a, int b)
|
|
|
+{
|
|
|
+ int temp = a;
|
|
|
+
|
|
|
+ a = b;
|
|
|
+
|
|
|
+ b = temp;
|
|
|
+
|
|
|
+ std::cout << " swap01 a = " << a << std::endl;
|
|
|
+ std::cout << " swap01 b = " << b << std::endl;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+//2、地址传递
|
|
|
+void mySwap02(int* a, int* b)
|
|
|
+{
|
|
|
+ int temp = *a;
|
|
|
+ *a = *b;
|
|
|
+ *b = temp;
|
|
|
+}
|
|
|
+
|
|
|
+//3、引用传递
|
|
|
+void mySwap03(int& a, int& b)
|
|
|
+{
|
|
|
+ int temp = a;
|
|
|
+ a = b;
|
|
|
+ b = temp;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+int main()
|
|
|
+{
|
|
|
+ int a = 10;
|
|
|
+ int b = 20;
|
|
|
+
|
|
|
+ //mySwap01(a, b) 值传递,形参不会修饰实参
|
|
|
+ //mySwap01(a, b);
|
|
|
+
|
|
|
+ //mySwap02(&a, &b); //地址传递 , 形参会修饰实参
|
|
|
+
|
|
|
+ mySwap03(a, b); //引用传递 , 形参会修饰实参
|
|
|
+
|
|
|
+ std::cout << " a = " << a << std::endl;
|
|
|
+ std::cout << " b = " << b << std::endl;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ system ("pause");
|
|
|
+
|
|
|
+ return 0;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//通过引用产生的效果同按地址传递是一样的。引用的语法更简单
|
|
|
+
|
|
|
+
|
|
|
+#endif
|