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

C++基础2

本文主要在于对引用进行更深一步说明。

1:引用不能改变指向,对A取别名AA后不能再给其他量取别名AA;

我们可以发现aa的值改为了10,但是a的值也改为了10,这说明aa=b;这个代码并非对引用的指向改变,而是直接改变了指向的对象本身,也就是a的改变,这也充分验证了引用就是取别名,只是另一个名字,多个不同名字的同一个量会一起改变。

2:引用在实践中主要用于函数参数的传递,普通的传参是一种值传递本质是一种拷贝,开辟了形参的空间,将实参的值传给形参,引用传参没有开辟空间,是对参数取别名然后对别名进行操作。这点在返回值传递时尤为突出,

在使用引用后我们不仅仅可以使用top获取栈顶数据而且可以直接利用这个函数直接修该栈顶的值这对效率大大提升。

3:引用返回同样有一些问题,我们在函数中定义的变量不能引用返回,这是因为引用返回是返回该量,但是我们离开函数会函数栈帧会被销毁,我们不能在访问到函数中的变量。

我们可以看到试图给c赋值失败了;

4:const在引用中的作用,普通对象可以用const引用,这是一种权限的缩小,但是别名具有const的性质不能再改变,只能读取其值,但是这里却没有影响到原本变量的使用,const变量不能用普通引用,这属于权限的放大是不正确的,同理const引用是可以给一些常量取别名我们看到编译器是不允许修改const用的值的,但是我们发现b1仍然会随着a,或者b2的修改而改变,这也i验证了引用就是取别名,const引用就是取一个只读的别名。const引用可以对一切具有常性质的变量使用,在c++中临时变量是具有常性的,我们在一些计算,求值时编译器会提供一个临时空间存这些值此时就会产生临时变量,我们可以看到此时d1的值为2,这是因为在从double 的转到int类型产生了一个临时变量d1是给这个临时变量取别名。

引用于指针的最大区别在于,从语法上讲引用不会额外开空间,指针会开空间,此外引用必须初始化,指针不必须,但是建议。然后引用可以直接使用,指针不可以需要解引用,引用指定对象后不可改变,指针可以。同时指针的大小是固定的,引用跟原一致。

5:inline修饰的函数叫内联函数会在编译时展开,不会建立新的函数栈帧,是为了应对C语言中的宏产生的,宏的本质是替换。

6:nullptr:c++专门为空指针产生的一种类型可以任意转换成其他指针类型,原本的NULL是一个宏c++中是0的字面意义,C语言中是0的被强制类型转化的void*类型C语言是允许void*直接转化成其他类型的但是c++不可以所以为了避免歧义使用了nullptr

http://www.jsqmd.com/news/858065/

相关文章:

  • 网页编码难题:如何让浏览器正确显示全球字符集?
  • YOLOv8-face模型ONNX转换深度解析:从PyTorch到跨平台部署的最佳实践
  • RK3588 PLC AMP 核隔离配置 + RT‑Thread 实时优化 + FPGA 接口定义 + CODESYS 工程
  • AI视频生成工具Pixelle-Video:零基础制作数字人视频的终极指南
  • 新西兰工签服务机构排行:5家合规服务商实测对比 - 互联网科技品牌测评
  • Android动漫播放器插件终极指南:解锁Hanime1完整观影体验
  • 终极指南:如何用AI自动瞄准技术提升FPS游戏体验
  • 10分钟搞定黑苹果:OpCore-Simplify如何让复杂配置变得简单
  • Ryujinx Switch模拟器完整指南:从安装到优化的终极教程
  • 延迟队列实现选 Redis ZSet 还是时间轮算法对比哪个好?
  • OBS背景移除插件:3分钟学会AI虚拟绿幕,告别杂乱背景的终极指南
  • 本科硕博、毕业赶 due 党必看!告别论文熬夜内耗,10 款 AI 工具从选题到答辩兜底
  • [特殊字符] 从“氛围编程”到“3D小世界”:我用一段Prompt搭了一个迷你村庄
  • 5分钟掌握AI图像分层技术:从单图到专业PSD文件的终极指南
  • MASA全家桶汉化包:Minecraft模组中文界面终极解决方案
  • Visual Studio Uninstaller:深度系统清理架构与BURN引擎逆向工程实践
  • Android FLAG_SECURE安全机制深度解析与LSPosed Hook架构实现
  • 5分钟学会批量查询Excel:告别Ctrl+F的手动时代
  • SOCD Cleaner:终极键盘输入优化工具,彻底解决游戏按键冲突
  • 企业级Visual Studio深度清理:解决开发环境残留的架构方案
  • SAP MM模块自动创建采购订单的三种方式
  • 如何快速优化Windows系统性能:Win11Debloat免费工具终极指南
  • IPv4 与 IPv6 基础区别,以及 IP 检测时需要同时查看的原因
  • 标书高效制作:Word 排版快捷键 + AI 工具组合工作流
  • 【Midjourney拟态风黄金标准】:基于1278组A/B测试数据验证的色彩饱和度阈值、边缘柔化临界值与材质反射率黄金配比
  • 抖音批量下载神器:douyin-downloader开源工具完整使用指南
  • 【超详细】10 分钟搞定,Claude Code + DeepSeek 在 Windows 上完美运行【有手就行】
  • 5大功能解析:Tidal-Media-Downloader终极音乐下载工具完整使用指南
  • 英语发音MP3音频下载:119,376个单词发音免费获取终极指南
  • SSHFS-Win:在Windows上安全访问远程文件的终极指南