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

【C++初阶】1.类和对象 两万字深度拆解,手把手带你入门C++

前言众所周知C加加难学这主要是因为其陡峭的学习曲线。本篇是C加加的第一篇讲解C加加的第一个知识点类和对象。而这个知识点难度就是比较大的。我们将尽量使用好懂的语言以及逻辑衔接去讲解它一、引用理解给对象取别名特征必须初始化例如int a;这样的写法是错误的引用必须在定义时初始化。可以给别名取别名代码语言javascriptAI代码解释int a 1; int ra a; int rra ra;一旦引用不可引用其它的实体代码语言javascriptAI代码解释int a 20; int b 10; int ra a; ra b;可能有同学认为引用本质是指针就以为引用对象可以改。但如上代码不是改ra引用对象为b而是给本尊重新赋值。由此引用可以看作取小名一个人可以有多个小名、外号但人始终只有一个。引用作用在这里仅供了解以后会深入传参做返回值传引用返回传值返回代码语言javascriptAI代码解释void func1(int x); // 传引用 int func2(int x); // 返回引用若x较大可以提升效率。此外有意思的是引用做返回值可以直接修改本尊代码语言javascriptAI代码解释int arr[20]; int func() { return arr[2]; } int main() { func() 3; // 直接修改数组 cout arr[2]; // 输出3 return 0; }如图直接修改数组因此就能引出一个问题引用返回这么好用以后全用引用返回不就好了显然答案是否定的。将上面的代码arr定义成局部再来看看代码语言javascriptAI代码解释int func() { int arr[20]; // 局部数组 return arr[2]; // 返回局部变量的引用 } int main() { int a func(); cout a; // 打印出了随机值 return 0; }由于函数栈帧在结束后会被销毁因此也变成了随机值。const引用既然我们研究了变量a的引用那就更进一步去研究常数的引用吧代码语言javascriptAI代码解释int main() { int rc 10; // 报错 return 0; }报错了这就关系到权限的问题了。10为常数引用只能用常数const引用代码语言javascriptAI代码解释const int rc 10; // 正确权限只可缩小不可放大代码语言javascriptAI代码解释int a 10; const int ra a; // 权限缩小 ra; // 会报错 int rra a; // 权限一致 rra; // 则不会同时对表达式(ab)的引用呢代码语言javascriptAI代码解释int a 1; int b 2; int r (a b); // 神奇的报错又来了接着报错我们回顾一下临时对象由于表达式会创造出一个临时对象而临时对象有常性因此必须加const代码语言javascriptAI代码解释int a 1; int b 2; const int r (a b); // 这下就能过了同时更进一步隐式类型转换也是有常性的也要加const代码语言javascriptAI代码解释double a 3.14; const int ra a; // 正确但是注意再转一次还是要加const的代码语言javascriptAI代码解释double a 3.14; const int ra a; const double rra ra; // double rra ra; 是错的因此const引用可以让传参更加广泛。引用与指针的区别首先两者本质都是指针。在编译下两者语句一模一样。区别引用不开空间指针开空间指针可以空引用不能代码语言javascriptAI代码解释int* p NULL; int rp *p; // 这样的代码会崩溃 rp;因此有野指针但很少有野引用sizeof语句返回值不同代码语言javascriptAI代码解释int a 1; int* pa a; int ra a; cout sizeof(pa) endl; // 在64位下为8 cout sizeof(ra) endl; // 输出4int的大小引用对象不可变参考上文引用可以直接访问指针要解引用二、Inline 内联在开始讲之前先回顾一下C的宏代码语言javascriptAI代码解释#define ADD(a, b) ((a) (b))有没有最后的分号外大括号内大括号为什么这样在C中内联可以代替宏代码语言javascriptAI代码解释inline int Add(int a, int b) ​​​​​​​{ return a b; }作用与宏类似在使用时展开让效率更高但实则智能得多。特征debug默认不展开这也意味着可以对其进行调试。是否展开取决于编译器做个计算一个100行的语句被调用10000次全部展开会是100 * 10000条不展开会是100 10000条全部展开会让程序臃肿。注意声明定义要放在一个文件中否则会报错三、nullptr (C11)简单说就是C版本的空指针。但C语言就有NULL了为什么要新弄一个新的关键字nullptr呢NULL的本质一个定义为0的宏

相关文章:

【C++初阶】1.类和对象 两万字深度拆解,手把手带你入门C++

前言众所周知,C加加难学,这主要是因为其陡峭的学习曲线。本篇是C加加的第一篇,讲解C加加的第一个知识点:类和对象。而这个知识点难度就是比较大的。我们将尽量使用好懂的语言以及逻辑衔接去讲解它一、引用理解给对象取别名特征必须…...

大语言模型强化微调中的熵动态控制与优化策略

1. 项目背景与核心问题在自然语言处理领域,大语言模型的强化微调(RLHF)已经成为提升模型对话质量和安全性的关键技术。然而在实际操作中,我们发现一个有趣的现象:模型在强化学习阶段的熵值(entropy&#xf…...

WorkshopDL:5分钟免费下载Steam创意工坊模组的终极指南

WorkshopDL:5分钟免费下载Steam创意工坊模组的终极指南 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在Epic Games Store或GOG平台购买了游戏,却…...

基于大语言模型的智能文档信息提取:从原理到工程实践

1. 项目概述:当ChatGPT遇上文档信息提取最近在做一个项目,需要从一堆五花八门的PDF、Word文档里自动提取关键信息,比如合同里的甲乙双方、金额、日期,或者简历里的姓名、电话、工作经历。手动处理?光是想想就头大。就在…...

Reloaded-II深度解析:打造高效游戏Mod管理生态系统的实战指南

Reloaded-II深度解析:打造高效游戏Mod管理生态系统的实战指南 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II Reloaded-II作为一款基…...

2026届必备的降重复率神器横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下,人工智能生成内容愈发普遍,在此种情形下,把文本的AI…...

3分钟搞定QQ空间完整备份:GetQzonehistory让你轻松永久保存青春记忆

3分钟搞定QQ空间完整备份:GetQzonehistory让你轻松永久保存青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还记得那些年在QQ空间留下的青春印记吗?那些…...

遥感影像解译精度卡在83.6%?用Python重写传统ENVI流程后,我们在黑土退化监测中将Kappa系数提升至0.91——附完整Jupyter Notebook与验证数据集

更多请点击: https://intelliparadigm.com 第一章:遥感影像解译精度瓶颈与黑土退化监测挑战 黑土作为全球最肥沃的土壤类型之一,其退化过程具有隐蔽性、渐进性和不可逆性特征。当前基于多光谱与SAR遥感数据的解译模型,在区分轻度…...

Hitboxer:游戏键盘按键重映射与SOCD冲突优化解决方案

Hitboxer:游戏键盘按键重映射与SOCD冲突优化解决方案 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 在竞技游戏的世界中,每一次精准的操作都可能决定胜负。然而,键盘同时按下…...

别再让Flink SQL JOIN拖慢你的流处理!手把手教你用SQL Hints调优(附1.17版本实战避坑)

Flink SQL JOIN性能调优实战:用SQL Hints突破流处理瓶颈 在实时数据处理领域,Flink SQL因其声明式的编程模型和强大的流批一体能力,已成为企业构建数据管道的首选工具。然而当数据规模达到千万级甚至更高时,JOIN操作往往会成为性能…...

DOL汉化美化整合包:5分钟快速安装终极指南

DOL汉化美化整合包:5分钟快速安装终极指南 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS Degrees of Lewdity(DOL)汉化美化整合包是一个基于Lyra构建系统的自动化…...

Universal x86 Tuning Utility:终极硬件性能调优指南

Universal x86 Tuning Utility:终极硬件性能调优指南 【免费下载链接】Universal-x86-Tuning-Utility Unlock the full potential of your Intel/AMD based device. 项目地址: https://gitcode.com/gh_mirrors/un/Universal-x86-Tuning-Utility Universal x8…...

如何在英雄联盟国服免费解锁所有皮肤?R3nzSkin国服特供版完全指南

如何在英雄联盟国服免费解锁所有皮肤?R3nzSkin国服特供版完全指南 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 你是否厌倦了每次对局都只…...

终极免费方案:让老旧安卓电视重获新生的3步快速改造指南

终极免费方案:让老旧安卓电视重获新生的3步快速改造指南 【免费下载链接】mytv-android 使用Android原生开发的视频播放软件 项目地址: https://gitcode.com/gh_mirrors/my/mytv-android 还在为家里的老旧安卓电视无法观看直播而烦恼吗?MyTV-Andr…...

SK9822与WS2812B驱动对比:用STM32F407实战,聊聊时序、亮度与代码差异

SK9822与WS2812B深度对比:从协议解析到STM32F407实战优化 在LED驱动领域,SK9822和WS2812B作为两种主流RGB LED驱动芯片,常被开发者用于各类照明和显示项目。它们虽然都能实现单线控制的全彩LED效果,但在协议设计、硬件接口和实际表…...

PayPal RulesHub:企业级规则引擎的乐高化架构与实战

1. 项目概述:规则引擎的“乐高”化革命如果你在开发涉及复杂业务逻辑的系统,比如风控、营销自动化、审批流,那你一定对“规则”这个词又爱又恨。爱的是,它让业务逻辑变得清晰、可配置;恨的是,随着规则数量爆…...

告别轮询与空闲中断:巧用FM33LE0xx串口接收超时功能实现DMA高效数据搬运

复旦微FM33LE0xx串口DMA接收:超时中断替代方案深度实践 在嵌入式系统开发中,串口通信作为最基础也最常用的外设接口之一,其性能优化往往直接影响整体系统的响应速度和功耗表现。传统基于轮询或空闲中断的串口接收方案,要么消耗大量…...

CS实验室行业报告:云计算与云原生行业分析报告

一、行业总览 1.1 全球云计算市场 全球云计算市场持续高速增长。据Gartner数据,2024年全球云计算市场规模达6929亿美元,同比增长20.3%。中商产业研究院预测,2025年全球云计算市场规模约为8298亿美元,2026年将达9888亿美元。到20…...

神经网络表示相似性:从度量到校准的实践指南

1. 项目背景与核心问题 在深度学习领域,神经网络表示相似性(Neural Representation Similarity)一直是研究热点。简单来说,当我们把不同的输入数据(比如图片、文本)喂给神经网络时,网络会在各层…...

从STM32F103C8T6到国产替代:一个老工程师的芯片选型实战笔记

从STM32F103C8T6到国产替代:一个老工程师的芯片选型实战笔记 过去两年,电子行业最深刻的记忆莫过于芯片价格的剧烈波动。作为从业十五年的嵌入式工程师,我亲眼见证了STM32F103C8T6从30元暴涨到200元又回落的过山车行情。这种供应链震荡迫使许…...

官方 API 还是向量引擎?6000 字讲透谁适合用向量引擎、为什么用、和官方 API 有什么区别

前言 最近很多人做 AI 应用,都会遇到一个很现实的问题。 到底应该直接接官方 API,还是使用向量引擎这样的 API 中转站。 这个问题看起来像技术选型。 其实背后涉及很多东西。 包括开发效率。 模型覆盖。 调用稳定性。 账单管理。 日志排查。 团…...

AI专著写作新玩法!借助AI工具,快速产出20万字专著书稿!

撰写学术专著是一项复杂的任务,研究者必须在内容的深度和广度之间找到一个理想的平衡点,这也是许多人在写作中面临的难题。在深度方面,AI写专著需要具备充足的学术重量,不只是简单地解释“是什么”,更要深入分析“为什…...

AI写教材高效攻略:利用专业工具,低查重产出40万字教材书稿!

面对教材编写框架难题,AI 工具来助力 谁在编写教材时没有遇到过框架的困惑呢?看着那张空白的文档发呆,从头到尾无从下手——是先介绍概念,还是先给出实例?章节的划分是根据逻辑还是按教学时长来定?每次修改…...

DownKyi哔哩下载姬:B站视频下载的终极解决方案

DownKyi哔哩下载姬:B站视频下载的终极解决方案 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。…...

从‘抛硬币’到测接口:聊聊概率测试中那些反直觉的坑与最佳实践

当概率测试遇上统计学:如何科学验证你的抽卡爆率? "这个抽卡系统绝对有问题!我抽了100次才出5个SSR,说好的10%爆率呢?"——类似这样的抱怨在游戏论坛上层出不穷。但究竟多少次测试才算"足够"&…...

OpenAI参与,重卷ImageNet:终于把FID做成训练

衡宇 发自 凹非寺量子位 | 公众号 QbitAI统治AI图像生成近10年的黄金标准,第一次被拉下场当了教练。我说的是FID(Frechet Inception Distance)。这个指标从2017年沿用至今,一直无法无法投入日常训练使用。现在有人打破了这个窘境—…...

DeepSeek V4最大的遗憾

henry 发自 凹非寺量子位 | 公众号 QbitAIDeepSeekV4的技术报告里有mHC,有CSA,有HCA,有Muon,有FP4……唯独没有Engram。Engram去哪了?这个话题一度成为网友们讨论的热点。Engram在今年1月由DeepSeek和北大联合开源&…...

WAM-202601:Cosmos Policy02【微调训练数据构造方式:把非视频数据伪装成视频帧,插到原本视频帧序列之间,通过mask构造三类训练任务:①Policy训练、②WM训练、③VF训练】

Cosmos Policy 论文 Figure 2 / Figure 8:微调训练数据构造方式与原理详解 论文:Cosmos Policy: Fine-Tuning Video Models for Visuomotor Control and Planning arXiv: 2601.16163 1. 核心问题:视频模型如何变成机器人策略模型? Cosmos Policy 的出发点是:原始 Cosmo…...

3分钟解锁小红书内容宝藏:XHS-Downloader带你实现高效无水印下载

3分钟解锁小红书内容宝藏:XHS-Downloader带你实现高效无水印下载 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用…...

Thorium浏览器终极指南:为什么这款Chromium优化版能让你的网页浏览速度翻倍?

Thorium浏览器终极指南:为什么这款Chromium优化版能让你的网页浏览速度翻倍? 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Source code and Linux releases. Windows/MacOS/ARM builds served in different repos, …...