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

news2024/10/10 13:10:35

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.coloradmin.cn/o/2202067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PHP智慧餐饮新风尚点餐系统

智慧餐饮新风尚点餐系统 —— 美食与科技的完美碰撞 &#x1f37d;️ 开篇&#xff1a;智慧餐饮的崛起 在快节奏的现代生活中&#xff0c;智慧餐饮正逐渐成为我们日常的一部分。随着科技的飞速发展&#xff0c;餐饮行业也在不断创新&#xff0c;力求为顾客提供更加便捷、高效…

中国象棋,Android小游戏开发

中国象棋&#xff0c;Android小游戏开发 A. 项目描述 本项目设计并开发了一款易于上手又富有挑战性的中国象棋应用。 用户界面与体验&#xff1a; 简洁与直观的设计&#xff0c;确保无论是新手还是老手&#xff0c;都能轻松使用。象棋主界面展示清晰的棋盘和操作选项&#x…

什么是DHCP Snooping?到底工作在第几层?

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 中午好&#xff0c;我的网工朋友 对于企业和机构而言&#xff0c;保证内部网络的安全稳定运行不仅是日常运营的基础&#xff0c;更是防止敏感信息…

ChinaER:重塑跨境互联新体验

中国联通国际公司产品之 ChinaER&#xff1a;打造高效、安全的微软 Azure 云跨境互联服务 在全球化的数字时代&#xff0c;企业对于云计算的需求日益增长&#xff0c;尤其是跨境互联服务&#xff0c;成为企业拓展海外市场、实现全球业务协同的关键。中国联通国际公司&#xff…

整合Ollama实现本地LLMs调用

前言 近两年AIGC发展的非常迅速&#xff0c;从刚开始的只有ChatGPT到现在的很百家争鸣。从开始的大参数模型&#xff0c;再到后来的小参数模型&#xff0c;从一开始单一的文本模型到现在的多模态模型等等。随着一起进步的不仅仅是模型的多样化&#xff0c;还有模型的使用方式。…

JavaScript 第2章 基本语法

第二部分&#xff1a;基本语法 第2章&#xff1a;基本语法 变量声明&#xff1a;let, const, var 变量声明 var&#xff1a;全局或函数级作用域&#xff0c;可重复声明同名变量。let&#xff1a;块级作用域&#xff0c;不可重复声明同名变量。const&#xff1a;块级作用域&…

WGCNA加权基因共表达网络多步法分析学习

之前笔者介绍过一步法的分析的流程&#xff1a; WGCNA加权基因共表达网络一步法分析学习 https://mp.weixin.qq.com/s/2Q37RcJ1pBy_WO1Es8upIg 建议先看一下之前的推文&#xff0c;了解一下WGCNA的基础原理。 这次就来介绍一下多步法 分析步骤&#xff1a; 1.导入 rm(list…

安全工具 | 搭建带有 Web 仪表板的Interact.sh

介绍 Interactsh 是一个用于检测带外交互的开源工具。它是一种旨在检测导致外部交互的漏洞的工具。本文将主要介绍在子域上设置私有 Interact.sh 服务器以及部署其 Web 应用程序。只需一个 AWS EC2 或 VPS 实例和一个域。 要求 •具有静态IP的AWS EC2 / VPS •拥有自己的域…

A CXL-Powered Database System: Opportunities and Challenges——论文阅读

ICDE 2024 Paper CXL论文阅读笔记整理 背景 Compute Express Link&#xff08;CXL&#xff09;是处理器和设备&#xff08;如内存缓冲区&#xff09;之间的开放式行业标准互连协议&#xff0c;基于CXL的内存架构如图1所示&#xff0c;拥有高带宽、低延迟以及对一致性和内存语…

Java 的数据结构整理(整合版)

Java 的数据结构整理&#xff08;整合版&#xff09; 一、数据输入输出 https://www.runoob.com/java/java-scanner-class.html 这部分是为了预防 leetcode 刷习惯了&#xff0c;忘记怎么处理输入输出的问题 数据输入 Java的数据输入和 C 相比非常繁琐&#xff0c;因此大多…

双十一有哪些不容错过的电子产品?看完不信你还不心动!

2024年双十一购物庆典即将上演&#xff0c;各大电商将携众多精品数码产品亮相&#xff0c;涵盖最新智能手机、笔记本、平板及智能手表等。这些产品集时尚外观与高端性能于一身&#xff0c;旨在满足用户多元化需求&#xff0c;如提升工作效率、享受娱乐时光、优化出行体验等。为…

中国上市药品目录集数据库查询方法-支持数据下载

《中国上市药品目录集》由国家食品药品监督管理总局以数据库形式发布并实时更新&#xff0c;由CDE负责日常维护和管理。《中国上市药品目录集》收录了在中国批准上市的创新药、改良型新药、化学药品新注册分类的仿制药以及通过质量和疗效一致性评价的药品的具体信息。这个目录集…

jmeter入门: 安装

1. download Apache JMeter - Download Apache JMeter 2. 解压jmeter包 3. 安装插件Install :: JMeter-Plugins.org 下载jar包&#xff0c;放到lib/ext目录 4. 打开jmeter &#xff08;可以看到插件管理选项&#xff09;

Autoware.universe-红绿灯识别程序调试

1、环境 gpu&#xff1a;RTX3070 操作系统&#xff1a;ubuntu 22.04 显卡驱动支持的最高cuda版本&#xff1a;cuda 12.6 cuda运行版本&#xff1a;cuda 12.3&#xff08;注&#xff1a;cuda运行版本需要小于显卡驱动支持的最高cuda版本&#xff09; 2、仓库 https://gitee.com/…

UR-vnc如何卸载和重新安装

urvnc资源下载https://download.csdn.net/download/xiaoding_ding/87610583 场景&#xff1a;有时候我们安装ur机器人vnc的时候没有完全安装完就拔了U盘&#xff0c;会出现一直登陆一直提示密码错误。这个时候就需要我们卸载这个vnc,然后重新进行安装了。 如果不卸载会提示已…

人工智能:超越人类思维的边界

人工智能在追求真理和正确性方面面临诸多挑战&#xff0c;而人类的思维方式在其中扮演着重要角色。然而&#xff0c;新一代的人工智能正通过更具实验性的方法&#xff0c;力图在机器学习领域实现远超人类的突破。 AlphaGo&#xff1a;人工智能的里程碑 提及人工智能的突破&…

全闪 SDS 一体机提供 FC 能力承载医院核心业务

邹平市人民医院使用 X3000 SDS 一体机组建分布式存储集群&#xff0c;通过 FC 接口 与 VMware 集群连接&#xff0c;以全闪池承载核心业务&#xff0c;对象存储承载 PACS 数据&#xff0c;实现存储架构的升级改造。 “新医改”的不断推进&#xff0c;对医院的运营管理、服务质…

洗衣店管理升级:Spring Boot订单系统

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

楼宇电力测量有什么特点

楼宇电力测量作为现代建筑管理中不可或缺的一环&#xff0c;其特点体现在多个方面&#xff0c;涵盖了测量的准确性、实时性、高效性以及对于节能和能源管理的重要性。这些特点使得楼宇电力测量系统在现代建筑管理中发挥着越来越重要的作用&#xff0c;为建筑行业的绿色发展和可…

华为Eth-trunk链路聚合加入到E-trunk实现跨设备的链路聚合

一、适用场景&#xff08;注&#xff1a;e-trunk与eth-trunk是2个不同的概念&#xff09; 1、企业中有重要的server服务器业务不能中断的情况下&#xff0c;可将上行链路中的汇聚交换机&#xff0c;通过eth-trunk链路聚合技术&#xff0c;实现链路故障后&#xff0c;仍有可用的…