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

c++入门基础(三)

文章目录

  • const引⽤


const引⽤

C++规定临时对象具有常性
这是非常重要的一句话。

可以引用⼀个const对象,但是必须用const引用。const引用也可以引用普通对象,因为对象的访问权限在引用过程中可以缩小,但是不能放大。
可以权限的缩小,但是不能权限的放大
不需要注意的是类似 int& rb = a3; double d = 12.34; int& rd = d; 这样⼀些场景下a3的和结果保存在⼀个临时对象中, int& rd = d也是类似,在类型转换中会产⽣临时对象存储中间值,也就是时,rb和rd引⽤的都是临时对象,⽽C++规定临时对象具有常性,所以,在这种情况下,就触发了一种权限放大的机制。对于某些特定的操作或访问,原本可能不需要太高级别的权限,但由于某些特殊条件或设置的触发,现在必须要求使用常引用(或者说是常规引用、标准引用)才能进行相应的操作或访问。

这种权限放大的机制,往往是为了增强系统的安全性,防止未经授权的访问或操作。通过要求使用常引用来进行某些敏感操作,系统可以更加严格地控制权限的分配和使用,从而确保只有经过授权的用户或程序才能访问或修改关键数据。
所谓临时对象,是指在程序执行过程中,当编译器需要一个临时空间来暂存表达式的求值结果时,会自动创建的一个未命名的对象。在C++编程语言中,这种由编译器自动生成且未明确命名的对象,被特别地称为“临时对象”。
临时对象的存在,主要是为了支持表达式的计算,尤其是在进行复杂的数据类型运算时。例如,在函数返回非引用类型的对象时,或者在执行某些运算符重载函数时产生的中间结果,都可能需要借助临时对象来存储。


http://www.kler.cn/a/398798.html

相关文章:

  • 代码段数据段的划分
  • 详细分析ip addr show 查看网络配置的命令
  • C++ 编程基础(5)类与对象 | 5.8、面向对象五大原则
  • OpenTelemetry 赋能DevOps流程的可观测性革命
  • 如何利用SAP低代码平台快速构建企业级应用?
  • 【Electron】Electron Forge如何支持Element plus?
  • ElasticSearch-全文检索(一)基本介绍
  • Golang语言系列-哈希表
  • MySQL基础(初阶+进阶)(详解)
  • Java Function 的妙用:化繁为简的魔法师!
  • 条件竞争(ctf.show web87)
  • 图形最高分
  • Unreal engine5实现类似鬼泣5维吉尔二段跳
  • 基于YOLOv8深度学习的不良坐姿监测与语音提醒系统(PyQt5界面+数据集+训练代码)
  • Spring Boot【一】
  • 【保姆级】Mac上IDEA卡顿优化
  • STM32低功耗设计NFC与无线距离感应智能钥匙扣
  • 《探索Zynq MPSoC》学习笔记(三)
  • Leetcode160.相交链表
  • PyTorch——从入门到精通:PyTorch基础知识(张量)【PyTorch系统学习】
  • React Native 全栈开发实战班 - 图片加载与优化
  • MCU的时钟体系
  • spring-data-elasticsearch 3.2.4 实现桶bucket排序去重,实现指定字段的聚合搜索
  • Adobe Illustrator(Ai)修图软件入门操作参考,收集查过的各个细节用法
  • 第十六届蓝桥杯模拟赛(第一期)-c++/c
  • [Qt platform plugin问题] Could not load the Qt platform plugin “xcb“