C++入门学习(二)
1. 引用1.1 引用的实现类型 引用变量名对象名 引用实体引用类型必须和引用实体是同种类型的#includeiostream using namespace std; int main() { int a 1; //int c; int ba;//b是a的别名 int da; int ed; int x 5, y 6; int rx x; rx y; //相当于 x y ,x 和 rx 都变成了 6 coutx yendl; return 0; }1.引用在定义时必须初始化2.一个变量可以有多个引用3.一旦引用一个实体就不能引用其他实体1.2 常引用引用取别名和使用指针时变量访问权限可以缩小不能放大权限放大非constconst , const const权限缩小非const const , 非const 非const#includeiostream using namespace std; int main() { const int a 1; // int b a; a是只读b的类型是int可读可写。编译器会报错 int a1 2; const int b1 a1; // a1是可读可写的b1是只读的 编译通过 //在这个过程中会产生一个临时变量而临时变量具有常性 const int a2 3; int b2 a2; //变量之间赋值没有权限缩小和放大的关系 return 0; }1.3 使用场景1.3.1 引用做参数1.输出型参数2.提高效率#includeiostream using namespace std; void Swap(int a,int b) { int tmp a; a b; b tmp; } int main() { int i 3 , j 4; cout i j endl; Swap(i,j); cout i j endl; return 0; }1.3.2 引用做返回值使用引用返回返回变量出了这个函数的作用域还存在就可以使用引用返回#includeiostream using namespace std; int Sub(int a,int b) { static int c a-b;//需要加static结果才会是2.如果不加结果会是3. return c; } //不加static出了这个函数c就会被销毁 int main() { int d Sub(5,3); Sub(9,6); //cout1233endl; coutdendl; return 0; }1.4 引用和指针的区别引用别名、必须初始化、终身绑定、直接操作、无空引用指针独立变量、可先声明后赋值、可指向别处、需 * 解引用、可为空2. 内联函数inline 是以空间换时间的做法。当代码很长或者有递归/循环时不宜使用内联函数。编译器会自动优化inline 的函数体里面要是有递归/循环等编译器优化时会忽略掉内联。3. auto关键字用auto定义变量时必须初始化(C11)3.1 auto 与指针和引用用auto声明指针类型时auto和auto* 没有区别但用auto声明引用类型时必须加#includeiostream #includetypeinfo using namespace std; int main() { int a 1; auto b a; auto c 2.0; auto d c; cout typeid(a).name() endl; cout typeid(b).name() endl; cout typeid(c).name() endl; cout typeid(d).name() endl; return 0; }3.2 在同一行定义多个变量在同一行声明多个变量时变量的类型必须是相同的否则会编译错误auto c 2.0, g 2; auto e 1, f 2;3.3 auto不能使用的情况1.不能作为函数参数2.不能用来声明数组void Sub(auto a) {} auto arr[5]{1,2,3,6,9};4. 范围for1.for循环后的括号由 “ ” 分成两部分一是范围内用来迭代的变量二是迭代的范围范围必须是确定的2.可以用continue来结束本次循环用break跳出循环#includeiostream using namwspace std; int main() { int arr[5] {9 , 6 , 5 , 2 , 7}; for(auto a : arr) { a1; } for(auto a : arr) { cout a ; } cout endl; return 0; }5.指针空值nullptrNULL 本质是宏通常被定义为0。因此它是一个整数传给函数时容易引发歧义。nullptrC11引入的关键字类型是std::nullptr_t。是真正的空指针。【void*0】#includeiostream using namespace std; void Func(int x) { coutint; } void Func(int* p) { cout pointer; } int main() { //Func(NULL); 会报错产生了歧义,不知道要调用哪一个函数 Func((int*)NULL); Func(nullptr); }

相关新闻

mcporter 安装部署及使用完全指南(三):把 MCP 服务配置改到 TaoToken

mcporter 安装部署及使用完全指南(三):把 MCP 服务配置改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:00:30 阅读更多 →
Word公式粘贴乱码解决:OMML转MathML与MathJax渲染

Word公式粘贴乱码解决:OMML转MathML与MathJax渲染

做投研平台的内容编辑模块时,最让我头疼的不是表格、不是K线截图,而是公式。分析师把Word里写完的周报、投资策略报告粘到XHEDITOR里,文字、图片、表格全都没问题,唯独公式不是消失就是乱码:要么变成一串带反斜杠的域代…

2026/10/9 9:59:27 阅读更多 →
el-radio-group 可取消单选实现:点击已选项取消选中

el-radio-group 可取消单选实现:点击已选项取消选中

后台管理系统里,el-radio-group几乎是单选项的标配组件。用过的人都知道,Element-ui 的单选框跟浏览器原生 radio 一样,一旦选了一项,就没法通过再次点击来取消选中。可真实业务里,产品经常提“再点一次取消”的需求&a…

2026/10/9 9:59:27 阅读更多 →

最新新闻

多模态无监督持续后训练:视觉依赖感知框架解析

多模态无监督持续后训练:视觉依赖感知框架解析

多模态模型的持续更新一直有个很现实的问题:新数据来了,直接继续训练容易忘掉旧能力;不做训练,新场景又用不上。如果数据还没有人工标注,问题会更麻烦。这次我们看的这个框架,名字叫A Visual Dependence-Aw…

2026/10/9 10:33:01 阅读更多 →
SpringBoot+SpringCloud电商源码实战:微服务启动顺序与避坑指南

SpringBoot+SpringCloud电商源码实战:微服务启动顺序与避坑指南

简介:这是一套面向计算机相关专业在校学生与教师的电商系统课程设计/毕业设计源码包,基于Spring Boot与Spring Cloud构建,采用Spring Security、MyBatis、Redis、Docker、Elasticsearch等技术栈,并运用分布式微服务架构&#xff0…

2026/10/9 10:33:01 阅读更多 →
惠普战66拔掉耳机后扬声器无声

惠普战66拔掉耳机后扬声器无声

机型 HP ZHAN 66 Pro A 14 G4 | Windows 10 | 声卡 Realtek ALC236帖主的问题最终还是借助 Cursor 得以修复,下附 Cursor 总结的具体的问题表现、排查过程及结论,供有需要的同仁参考。一、问题描述耳机插上以后,声音正常。耳机拔掉以后&a…

2026/10/9 10:33:01 阅读更多 →
从临时Subagent到持久化AI团队:状态恢复与审计追踪设计

从临时Subagent到持久化AI团队:状态恢复与审计追踪设计

这次我们来看一个很有意思的项目:Show HN: Turn ad-hoc subagents into durable, accountable AI teams。从标题就能看出,它解决的不是“再做一个 Agent”,而是更现实的问题:平时随手创建的临时 Subagent 一到任务结束就丢了&…

2026/10/9 10:33:01 阅读更多 →
RIGOL DS1000系列LabVIEW驱动实战:从RS232/GPIB通信到自动化测试集成

RIGOL DS1000系列LabVIEW驱动实战:从RS232/GPIB通信到自动化测试集成

简介:这份资源面向使用普源DS1000系列示波器、希望借助LabVIEW实现远程控制与数据采集的工程师与测试人员,重点解决RS232串行通信和GPIB总线两种接口下的驱动调用问题。压缩包共54个文件,约570KB,以42个vi虚拟仪器文件为核心&…

2026/10/9 10:33:01 阅读更多 →
图书馆预约系统小程序源码拆解:Java+微信小程序+MySQL三层架构

图书馆预约系统小程序源码拆解:Java+微信小程序+MySQL三层架构

简介:这是一套基于微信小程序的图书馆预约系统毕业设计项目,面向计算机相关专业学生,适用于毕业设计或课程设计场景。系统采用微信小程序开发工具、MySQL数据库与Java的B/S架构实现,完整覆盖管理员、用户、员工三类角色&#xff1…

2026/10/9 10:32:00 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →