c++核心编程day2 - 引用
c核心编程day2工具vs2026课程【黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难】2 引用2.1 引用的基本使用作用给变量起别名语法数据类型 别名 原名程序示例#includeiostreamusingnamespacestd;#includestringintmain(){// 引用的基本语法inta10;// 创建引用intba;couta aendl;coutb bendl;b100;couta aendl;coutb bendl;system(pause);return0;}2.2 引用的注意事项引用必须初始化int a;×int a b;√引用在初始化后不可以改变int a b;a c;×a c; // 赋值操作是可以的a和b都会等于c程序示例#includeiostreamusingnamespacestd;#includestringintmain(){inta10;intba;intc20;bc;//可以进行赋值操作但是不可b ccouta aendl;coutb bendl;coutc cendl;system(pause);return0;}2.3 引用作函数参数作用函数传参时可以利用引用的技术让形参修饰实参优点可以简化指针修改实参地址传递程序示例#includeiostreamusingnamespacestd;#includestring// 交换函数// 1. 值传递voidswap01(inta,intb){inttempa;ab;btemp;coutswap01 a aendl;coutswap01 b bendl;}// 2. 地址传递voidswap02(int*a,int*b){inttemp*a;*a*b;*btemp;coutswap02 a *aendl;coutswap02 b *bendl;}// 3. 引用传递voidswap03(inta,intb){inttempa;ab;btemp;coutswap03 a aendl;coutswap03 b bendl;}intmain(){inta10;intb20;swap01(a,b);couta aendl;coutb bendl;swap02(a,b);couta aendl;coutb bendl;swap03(a,b);// 引用传递形参也会修饰实参couta aendl;coutb bendl;system(pause);return0;}2.4 引用作函数返回值不能返回局部变量的引用函数的调用可以作为左值程序示例#includeiostreamusingnamespacestd;#includestring// 引用作函数的返回值inttest01(){inta10;// 局部变量存放在栈区// 如果return a; 调用函数后第一次使用该值时是正确的是因为编译器做了保留但是后续a的内存会被释放所以不会获取真实的值staticintb10;//静态变量存放在全局区全局区上的数据在程序结束后由系统释放returnb;}intmain(){intreftest01();coutref refendl;coutref refendl;// 如果函数作左值那么必须返回引用test01()1000;// 等效于b 1000即ref 1000coutref refendl;coutref refendl;system(pause);return0;}2.5 引用的本质引用的本质在c内部实现是一个指针常量指针的指向是不可以修改的指针指向的值是可以修改的int ref a; // 即 int* const ref a;ref 10; // 即 *ref 10;2.6 常量引用常量引用主要用于修饰形参防止误操作在函数形参列表中加const修饰形参即常量引用防止形参改变实参程序示例#includeiostreamusingnamespacestd;#includestringvoidshow01(intval){val1000;coutval valendl;}voidshow02(constintval){// val 200; 不可以修改coutval valendl;}intmain(){// 引用必须引用一块合法的内存空间intb a;√ intb 10;×// 但是加上const就可以constintref10;// 编译器会自动将代码修改为 int temp 10; const int ref temp;// 此时ref也不可以被修改inta100;show01(a);show02(a);system(pause);return0;}

相关新闻

「中医养生智能时钟」—— 融合传统智慧与现代科技的健康助手软件

「中医养生智能时钟」—— 融合传统智慧与现代科技的健康助手软件

大家好,我是大飞哥。在快节奏的现代生活中,我们常常忙于工作而忽略了身体与自然节律的呼应——明明到了子时该入睡养胆,却还在熬夜加班;午时心经当令,却因事务缠身错过小憩养神的最佳时机。传统中医强调“顺时而养”&a…

2026/7/23 0:36:35 阅读更多 →
Windows 图标随心换:木木精心打造的一键替换神器

Windows 图标随心换:木木精心打造的一键替换神器

大家好,我是大飞哥。Windows系统默认的图标虽然统一,但看久了难免觉得单调乏味,尤其是回收站、此电脑、系统应用这些高频接触的桌面元素,千篇一律的样式很难彰显个人审美与风格。想要手动更换系统图标,通常需要深入注册…

2026/7/23 0:36:35 阅读更多 →
【航路规划】战略级(飞行前)冲突解除系统,用于验证无人机在共享空域中执行预设航点任务的安全性附Matlab代码

【航路规划】战略级(飞行前)冲突解除系统,用于验证无人机在共享空域中执行预设航点任务的安全性附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/7/23 0:35:35 阅读更多 →

最新新闻

开发者副业指南:如何把技术积累变成被动收入

开发者副业指南:如何把技术积累变成被动收入

开发者副业指南:如何把技术积累变成被动收入 引言 "程序员只能靠写代码赚钱"——这是最大的误解。 2026年,开发者拥有比任何职业都多的变现路径。我身边的技术朋友,有人靠开源项目年入 $50K,有人卖 Notion 模板月入过万…

2026/7/23 1:12:46 阅读更多 →
Python深度学习入门:从环境配置到模型部署实战

Python深度学习入门:从环境配置到模型部署实战

1. 为什么选择Python作为深度学习的第一语言?十年前我刚接触机器学习时,主流工具还是MATLAB和R。直到2012年AlexNet横空出世,Python才凭借其独特的生态优势逐渐成为深度学习领域的事实标准。现在回看这个转变,我认为主要基于三个关…

2026/7/23 1:12:46 阅读更多 →
一人公司技术栈选型——单人团队的工具链怎么搭

一人公司技术栈选型——单人团队的工具链怎么搭

一人公司技术栈选型——单人团队的工具链怎么搭引言2026年,一个人撑起一家公司的可能性比以往任何时候都大。SaaS AI 的组合正在把"一个人干十个人的活"从口号变成现实。作为一个亲身实践了两年一人公司模式的开发者,今天我想和你聊聊&#x…

2026/7/23 1:12:46 阅读更多 →
[论文学习]Mamba:具有选择性状态空间的线性时间序列建模

[论文学习]Mamba:具有选择性状态空间的线性时间序列建模

Mamba: Linear-Time Sequence Modeling with Selective State Spaces 论文重点 Mamba提出了一种全新的选择性状态空间模型(Selective State Space Model,SSM),通过让SSM参数成为输入的函数,使模型能够根据当前token选择…

2026/7/23 1:12:46 阅读更多 →
RAG优化:用户随口一问,RAG为什么就检索不到?

RAG优化:用户随口一问,RAG为什么就检索不到?

如果用户的问题本身就不适合检索,正确文档压根没进候选集,该怎么办? 真实用户不会像测试工程师一样提问。 知识库里的标题可能是《企业版 macOS 客户端单点登录故障处理》,用户只会丢下一句: 那苹果电脑呢&#xff1…

2026/7/23 1:12:46 阅读更多 →
逆向学习:AI通过错误样本提升模型性能的新方法

逆向学习:AI通过错误样本提升模型性能的新方法

1. 研究背景与核心发现滑铁卢大学计算机科学团队近期在机器学习领域取得突破性发现:在特定条件下,让AI模型学习错误答案反而能提升其最终表现。这项发表在《Nature Machine Intelligence》的研究颠覆了传统监督学习的训练范式。研究团队设计了一组对照实…

2026/7/23 1:11:46 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻