C++Note 引用上

引用的基本使用:

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main() 
 5 {
 6     //引用的基本使用
 7     //作用 给变量取别名
 8     //语法:数据类型  &别名 = 原名
 9     int a = 10;
10     //创建引用
11     int& b = a;//别名b操纵的也是 a的数值 
12     cout << " a = " << a << endl;//10
13     cout << " b = " << b << endl;//10
14     b = 100;
15     cout << " a = " << a << endl;//100
16     cout << " b = " << b << endl;//100
17     system("pause");
18     return 0;
19 }
复制代码

引用注意事项: 

 **引用必须初始化

 **引用在初始化后 不可以改变

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main() 
 5 {
 6     int a = 10;
 7     int b = 20;
 8     //int %c; //错误  引用必须初始化
 9     int& c = a;//一旦初始化 就不可以更改
10     c = b;//赋值操作 不是更改引用  将20赋给c a和c指向同一个变量位置
11     cout << " a = " << a << endl;//20
12     cout << " b = " << b << endl;//20
13     cout << " c = " << c << endl;//20
14     system("pause");
15     return 0;
16 }
复制代码

引用做函数参数:

作用:函数传参时,可以利用引用的技术让形参修饰实参

优点:可以简化指针修改实参

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 
 4 //交换函数
 5 //1.值传递
 6 void mySwap01(int a, int b)
 7 {
 8     int temp = a;
 9     a = b;
10     b = temp;
11     cout << "Swap01 a = " << a << endl;//20
12     cout << "Swap01 b = " << b << endl;//10
13 }
14 //2.地址传递
15 void mySwap02(int* a, int* b)
16 {
17     int temp = *a;
18     *a = *b;
19     *b = temp;
20     cout << "Swap02 a = " << *a << endl;//20
21     cout << "Swap02 b = " << *b << endl;//10
22 }
23 //3.引用传递
24 void mySwap03(int& a, int& b)// &a中的a相当于Main中变量a的别名  别名可以与原名相同
25 {
26     int temp = a;
27     a = b;
28     b = temp;
29     cout << "Swap03 a = " << a << endl;//20
30     cout << "Swap03 b = " << b << endl;//10
31 }
32 
33 int main() 
34 {
35     int a = 10;
36     int b = 20;
37    // mySwap01(a, b);//值传递:实参没有发生改变   a = 10  b = 20
38    // mySwap02(&a, &b);//地址传递:形参会修改实参 a = 20  b = 10
39     mySwap03(a, b);  // 引用传递:形参会修改实参  a = 20  b = 10
40     cout << "Main a = " << a << endl;
41     cout << "Main b = " << b << endl;
42     system("pause");
43     return 0;
44 }
复制代码

通过引用参数产生的效果同按地址传递是一样的 引用的语法更清楚简单

posted on   廿陆  阅读(6)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示