C++初阶

1.缺省参数

给缺省参数的时候,不能声明,定义同时给,只能声明的时候给缺省参数,同时给程序报错;

2.函数重载

C语言不允许同名函数的存在,函数名不能相同,C++引入函数重载,函数名可以相同,但是参数的类型不能相同,或者是类型相同但是类型的顺序不同;

传参的时候,编译器会自动识别类型,C++对函数名进行了修饰,不同的平台修饰的规则不同,只要类型不同,类型的个数不同,修饰的名字就不会相同,这样我们在找的时候就可以找到了;

这里的重载就是参数的类型不相同,调用某一个函数编译器自动识别类型,调用第一个就选择int类型,调用第二个就选择double类型;

函数名的修饰是前面的固定的格式加上参数的没醒,返回值不同,不能构成函数的重载,这个不是因为修饰的名字里面没有返回子,而是因为我们的调用函数无法根据返回值进行寻找,因为我们可以直接进行调用,不指定返回值的类型,就算修饰的名字里面有返回值也是不能构成函数重载的。

3.引用

引用就是取一个绰号

这里就是指的是i就是k,k就是i,所以打印的地址是一样的,进行加加操作他们会同时加加;

我们可以给i取2个绰号,也可以给k接着取绰号;

那么这个引用的意义何在呢:我们在调用函数进行交换的时候,我们知道形参是实参的一份临时拷贝,所以对于形参的修改不影响实参,我们必须使用指针进行传参,那么我们学习了引用之后,就多了一种途径,就是使用别名进行传参,这个时候参数就是别名,别名就是参数,这样就会交换成功了,示例如下:

(1)引用的时候必须定义时候初始化

(2)一个变量可以有多个别名;


4.引用的使用场景

(1)作为参数

(2)作为返回值

如果不加上static的话,变量的作用域就是在函数内部,出了作用域,就会销毁了;

下面的加上static就会存放到静态区里面,栈帧销毁了以后,这个值还是存在的;

TIP:我们现在已经了解了

栈帧的销毁不影响生命周期,这个时候就可以使用传引用返回;

(3)具体实践

这个代码就相对而言比较复杂了,这个里面用到了结构体的定义和初始化,这个引用有2个作用

既可以减少空间的消耗,也可以直接对数组里面的数据进行赋值,直接可以改变大小,

在函数定义中,AY& ay 表示参数 ay 是一个引用类型,引用了 AY 结构体类型的对象;

这意味着在函数内部对 ay 的修改将直接反映到传入的对象上,而不是创建新的副本。通过引用作为函数参数,我们可以避免复制大型对象的开销,并且可以直接修改传入的对象。

在 PosAt 函数中,通过引用 AY& ay,我们可以直接访问和操作传入的 ay 对象的成员变量和数组元素。ay.a[i] 可以访问 ay 对象的 a 数组中的第 i 个元素,因此调用的函数栈帧销毁了以后,这个结构体变量是不会销毁的,因此我们可以进行传引用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/454435.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SOLIDWORKS 2024新版价格 SOLIDWORKS2024专业版白金版多少钱?

达索 SOLIDWORKS 一直以来都致力于让每位设计师和工程师的设计都触手可及。SOLIDWORKS贯彻的使命就是通过功能强大且易于使用的产品开发解决方案,在创造、协作和提供创新的产品体验方面助您一臂之力。SOLIDWORKS 2024延续了这一期望,同时开启了强化使用S…

Altium Designer快速入门及项目实战教程之PCB设计(四)

一、引言 在我们的Altium Designer系列教程中,我们已经一起走过了软件界面的初识、原理图的绘制,以及元件库的建立。今天,我们将进入这一系列教程的高潮部分——PCB设计。 PCB设计不仅是电子产品开发过程中的核心,也是检验一个电…

Maven项目添加依赖

maven仓库:Maven Repository: Search/Browse/Explore (mvnrepository.com) 1.在maven仓库中搜素自己想要的依赖,选择合适的版本号,复制以下内容(依赖坐标)。 2.在pom.xml中把复制的粘贴进去。刷新。(注意内容要放在dependencies双…

修改表结构

目录 修改表结构 创建数据表插入数据 修改已有列 修改 member 表的 name 列的定义 为表增加列 增加一个 address 列,这个列上不设置默认值 增加一个 sex 列,这个列上设置默认值 删除表中的列 删除 sex 列 Oracle从入门到总裁:​​​​​​https…

西门子PLCS7-1200位逻辑指令的使用

1.LAD触点 常开触点的位值为1时,常开触点将闭合(ON)。位值为0时,常开触点将闭合(OFF)。 常闭触点的位值为1时,常闭触点将闭合(OFF)。位值为0时,常闭触点将闭…

一文掌握mysql中的查询语句

目录 1. 聚合查询1.1 聚合函数1.2 GROUP BY子句1.3 HAVING 2. 联合查询2.1 内连接2.2 外连接2.3 自连接2.4 子查询2.5 合并查询 1. 聚合查询 1.1 聚合函数 常见的统计总数、计算平局值等操作,可以使用聚合函数来实现,常见的聚合函数有: 函…

从0到1:如何用AI完成高质量的科研论文写作?

人工智能革命:如何让聊天机器人更懂你 人工智能正在以其强大的数据处理和语言生成能力改变世界。在学术界,大语言模型(LLM)为科学交流带来了一种新的工具。我们旨在有效地将AI工具与学术写作相结合,以更有效和更有影响…

关于图在推荐系统中的研究

业界最新的论文 Intent-aware Recommendation via Disentangled Graph Contrastive Learning 作者:Yuling Wang, Xiao Wang, Xiangzhou Huang, Yanhua Yu, Haoyang Li, Mengdi Zhang, Zirui Guo, Wei Wu 地址:https://arxiv.org/abs/2403.03714 论文…

Java毕业设计-基于spring boot开发的实习管理系统-毕业论文+答辩ppt(附源代码+演示视频)

文章目录 前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1.开发说明2.需求分析3、系统功能结构 三、系统实现展示1、前台功能模块2、后台功能模块2.1 管理员功能2.2 教师功能2.3 学生功能2.4 实习单位功能 四、毕设内容和源代码获取总结 Java毕业设…

Ps:清理

清理 Purge命令位于“编辑”菜单下,它主要用于释放 Photoshop 使用的内存资源,有助于提高系统的性能。 通过使用“清理”命令,用户可以有效管理 Photoshop 的资源使用,特别是在处理大型文件或进行长时间编辑会话时。 定期清理可以…

科研学习|论文解读——一种修正评分偏差并精细聚类中心的协同过滤推荐算法

知网链接 一种修正评分偏差并精细聚类中心的协同过滤推荐算法 - 中国知网 (cnki.net) 摘要 协同过滤作为国内外学者普遍关注的推荐算法之一,受评分失真和数据稀疏等问题影响,算法推荐效果不尽如人意。为解决上述问题,本文提出了一种改进的聚类…

web项目的搭建

使用Webstorm并创建Next.js文件 1、配置nodejs环境、安装webstorm【配置node.js可以使用nvm去管理nodejs的版本】 2、需要破解webstorm,可能会导致原本的idea失效,注册码过期 3、taobao的npm过期,导致npm is sass执行不成功,需…

openAI key 与ChatGPTPlus的关系,如何升级ChatGPTPLus

一、前言 先详细介绍一下Plus会员和Open API之间的区别: 实际上,这两者是相互独立的。举例来说,虽然您开通了Plus会员,并不意味着您就可以使用4.0版本的API。尽管这两个账户可以是同一个,但它们是完全独立的平台。 …

Linux信号机制(二)

目录 一、信号的阻塞 二、信号集操作函数 三、sigprocmask函数 四、pause函数 五、sigsuspend函数 一、信号的阻塞 有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。…

媒体单位专用小记者报名及各类活动报名系统介绍

媒体单位专用小记者报名及各类活动报名系统介绍 小记者活动鼓励孩子们关注生活和社会,丰富成长体验,开启心智,淬砺思想。这不仅有助于提高他们的理性思辨力,还能培养他们的社会责任感和公民意识。小记者活动为学生提供了一个全新…

[密码学]OpenSSL实践篇

背景 最近在写Android abl阶段fastboot工具,需要我在Android代码中实现一些鉴权加解密相关的fastboot命令,里面用到了OpenSSL。我们先来实践一下OpenSSL在Linux系统中的指令。 OpenSSL官方网站:OpenSSL 中文手册 | OpenSSL 中文网 1. 查看…

VMware下创建虚拟机

Centos7是比较常用的一个Linux发行版本,在国内的使用比例比较高 安装完VMware一定要检查虚拟网卡有没有安装成功,如果没有VMnet1和VMnet8 虚拟机是无法上网的,就需要卸载重启电脑重新安装 控制面板—网络和Internet—网络连接 快捷方式打开&a…

【原创】[新增]ARCGIS之土地报备Txt、征地Xls格式批量导出Por旗舰版

一、软件简介 2024年新增旗舰版软件,本软件全新界面开发,保留原有软件功能及一些使用习惯,并集成了现已有的所有定制格式的支持,并增加自定义格式的导出;做到1N2(即为1种通用版本N种定制格式导出txt、Xls&a…

牛客Highway

题目大意 在ICPCCamp中,有n个方便编号的城镇,编号为1,2,...,n,它们之间通过(n-1)条道路相连。连接第i个城镇a_i和b_i的道路的长度为c_i。保证任意两座城市之间只能通过道路到达。 Bobo希望修建(n-1&#…

2024-03-13 作业

网络编程&#xff1a; 1.思维导图&#xff1a; 2.上课写的代码&#xff1a; 2.1网络字节序与主机字节序转换 运行代码&#xff1a; #include <myhead.h> int main() {int num 0x12345678;short int value 0x1234;int num_n htonl(num);int value_n htons(value);…