当前位置: 首页 > news >正文

[C++ 核心编程]笔记 3 引用做函数参数

2.1 引用的基本使用

作用: 给变量起别名
语法: 数据类型 &别名 = 原名

2.2 引用注意事项

  1. 引用必须初始化
  2. 引用在初始化后,不可以改变
#include<iostream>
using namespace std;int main() {//引用基本语法int a = 10;//创建引用int& b = a;cout << "a=" << a << endl;cout << "b=" << b << endl;b = 100;cout << "a=" << a << endl;cout << "b=" << b << endl;system("pause");return 0;
}

2.3 引用做函数参数

  1. 作用: 函数传参时,可以利用引用的技术让形参修饰实参
  2. 优点: 可以简化指针修改实参
#include<iostream>
using namespace std;//交换函数
//1.值传递
void Swap01(int a, int b)
{int temp = a;a = b;b = temp;//cout << "Swap01 a=" << a << endl;//cout << "Swap01 b=" << b << endl;
}//2.地址传递
void Swap02(int *a, int *b)
{int temp = *a;*a = *b;*b = temp;
}//3.引用传递
void Swap03(int& a, int& b) {int temp = a;a = b;b = temp;
}int main()
{int a = 10;int b = 20;Swap01(a, b);//值传递,形参不会修饰实参cout << "a=" << a << endl;cout << "b=" << b << endl;Swap02(&a, &b);//地址传递, 形参会修饰实参	cout << "a=" << a << endl;cout << "b=" << b << endl;a = 10;b = 20;Swap03(a, b);//引用传递, 形参会修饰实参cout << "a=" << a << endl;cout << "b=" << b << endl;system("pause");return 0;
}

运行结果如下:
在这里插入图片描述
可以看出, 值传递无法完成值的交换, 而地址传递和引用传递完成了


http://www.mrgr.cn/news/46647.html

相关文章:

  • centos7.6 安装nginx 1.21.3与配置ssl
  • C#进阶-在Ubuntu上部署ASP.NET Core Web API应用
  • 势均力敌(C++ 三级题--使用vector和push_back)
  • Mybatis冲冲冲00(含如何配置模版文件)
  • java_接口
  • stm32中断定义流程及应用
  • c++11~c++20 thread_local
  • 老外发微信时说“I‘ll ping you”是什么意思?发微信怎么用英语说柯桥学英语到哪里?
  • 计算机网络:数据链路层 —— 数据链路层概述
  • LSTM(长短时记忆网络)
  • 城门(动态规划)
  • 【时时三省】(C语言基础)指针笔试题7
  • TLS 加密的原理和过程
  • C++游戏开发指南
  • 操作系统-系统调用
  • [JAVA]连接数据库 并在Java中实现查询员工信息功能
  • OmniH2O——通用灵巧且可全身远程操作并学习的人形机器人(其前身H2O是HumanPlus的重要参考)
  • 解决Nginx出现“Too many open files”的问题
  • 测试基础知识(二)测试分类和质量模型
  • 手动更换SSL证书教程及注意事项
  • 五、Python基础语法(程序的输入和输出)
  • Windows系统安装Docker
  • QColormap Class
  • ctfshow-web 萌新题
  • 22.1 K8S之KubeSphere实现中间件高可用集群
  • 国内经典多模态大模型工作1——Qwen-VL系列(Qwen-VL、Qwen2-VL解读)