Explorar o código

上传文件至 '引用1'

Creamo %!s(int64=3) %!d(string=hai) anos
pai
achega
6613cf978f

+ 29 - 0
引用1/1、引用的基本使用.cpp

@@ -0,0 +1,29 @@
+//引用的基本使用
+//作用 : 给变量起别名
+//语法 : 数据类型 &别名 = 原名
+
+#if(0)
+
+#include <iostream>
+
+int main()
+{
+	int a = 10;
+	//创建引用
+	int& b = a;
+
+	std::cout << " a = " << a << std::endl;
+	std::cout << " b = " << b << std::endl;
+
+	b = 100;
+
+	std::cout << " a = " << a << std::endl;
+	std::cout << " b = " << b << std::endl;
+
+	system("pause");
+
+	return 0;
+
+}
+
+#endif

+ 26 - 0
引用1/2、引用的注意事项.cpp

@@ -0,0 +1,26 @@
+//引用的注意事项
+//1、引用必须初始化
+//2、引用在初始化后,不可以更改
+
+#if(0)
+
+#include <iostream>
+
+int main()
+{
+	int a = 10;
+	int &b = a;  //  必须初始化 int &b; err  
+
+	int c = 20;
+	b = c;       //赋值操作,不是更改引用
+
+	std::cout << " a = " << a << std::endl;
+	std::cout << " b = " << b << std::endl;
+	std::cout << " c = " << c << std::endl;
+
+	system("pause");
+
+	return 0;
+}
+
+#endif

+ 71 - 0
引用1/3、引用做函数参数.cpp

@@ -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