news 2026/8/15 11:34:09

const引用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
const引用

const引用

• 可以引⽤⼀个const对象,但是必须⽤const引⽤。const引⽤也可以引⽤普通对象,因为对象的访问权限在引⽤过程中可以缩⼩,但是不能放⼤。

#define _CRT_SECURE_NO_WARNINGS 1 using namespace std; #include <iostream> int main() { const int a = 10; int& ra = a; //这里会出现报错 return 0; }

鲁迅不能干,关我周树人什么事情,这属于偷换概念

//权限的缩小 int b = 1; const int& rb = b; rb++;//报错 b++;
//这并不是权限的放大,这是y拷贝了x的内容开辟了另一块空间 //权限的放大和缩小一种是在引用,还有一种是指针 const int x = 0; int y = x;

这是指针的情况:

int main() { //权限的放大 int a = 10; const int* p1 = &a; //int* p2 = p1; //权限的缩小 int b = 10; int* p3 = &b; const int* p4 = p3; //不存在权限的放大和缩小 //const在*之后修饰指针本身,在*之前是指向的内容 int* const p5 = &b; int* p6 = p5; return 0; }

• 需要注意的是类似 int& rb = a3; double d = 12.34; int& rd = d; 这样⼀些场景下a3的和结果保存在⼀个临时对象中, int& rd = d 也是类似,在类型转换中会产⽣临时对象存储中间值,也就是时,rb和rd引⽤的都是临时对象,⽽C++规定临时对象具有常性,所以这⾥就触发了权限放⼤,必须要⽤常引⽤才可以。

• 所谓临时对象就是编译器需要⼀个空间暂存表达式的求值结果时临时创建的⼀个未命名的对象,C++中把这个未命名对象叫做临时象。

void f1(const int& rx) { } int main() { const int xx = 20; int a = 10; const int& ra = a*3; double b = 12.34; const int& rb = b; f1(xx); f1(a); f1(b); f1(a * 3); return 0; }

const引用的价值在于可以引用const对象,普通对象,临时对象

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 6:50:30

2025年12月— CET四六级答案

2025年12月英语四级真题及答案&#xff08;第一套&#xff09;2025年12月英语四级真题及答案&#xff08;第二套&#xff09;2025年12月英语四级真题及答案&#xff08;第三套&#xff09;2025年12月英语六级真题及答案&#xff08;第一套&#xff09;2025年12月英语六级真题及…

作者头像 李华
网站建设 2026/8/15 18:29:37

锐捷RGSP | 端口安全技术原理与应用

一、端口安全概述 1. 端口安全技术背景 在网络运维中经常有这样的安全需求:允许合法用户访问网络,拒绝非法用户访问。这种安全需求可以通过端口安全技术来实现,端口安全可以在接口上绑定合法的IP、MAC或者IP+MAC,并基于绑定对接口接收的报文进行控制。 园区网的接入安全…

作者头像 李华
网站建设 2026/8/14 14:51:01

Cameralink采集卡软件EspeedGrab使用讲解:4图像处理

鹰速光电公司的Cameralink图像采集卡软件&#xff0c;转usb的采集卡&#xff0c; Espeedgrab软件使用方法【4 图像处理】。 一千多元的工业级图像采集卡&#xff0c;可以替代万元的 pleora的iport cl-u3的&#xff0c;而且很多场合可替代dalsa采集卡。 #采集卡#cameralink#鹰速…

作者头像 李华
网站建设 2026/8/14 23:05:37

31、脚本编程进阶:Here文档、自上而下设计与流程控制

脚本编程进阶:Here文档、自上而下设计与流程控制 1. Here文档的使用 在文本输出方面,除了使用 echo 命令的两种方法外,还可以使用Here文档(Here Document)或Here脚本。Here文档是一种I/O重定向的额外形式,它允许我们将一段文本嵌入脚本,并将其作为命令的标准输入。其…

作者头像 李华
网站建设 2026/8/14 9:20:38

信捷XDH系列PLC的追剪/飞剪/电子凸轮程序模板

信捷XDH系列PLC追剪/飞剪/电子凸轮程序模板 包含了定长追剪和飞剪模式/定标飞剪/追剪模式 函数功能块无jia密&#xff0c;是学习信捷追/飞剪的经典模板 适合参考借鉴 包含&#xff1a;PLC程序信捷触摸屏HMI软元件分配表最近在搞PLC运动控制的朋友应该对信捷XDH系列不陌生&#…

作者头像 李华
网站建设 2026/8/14 2:34:17

【大模型】-LangChain--stream流式同步异步

文章目录1.同步stream流2.异步astream流3.异步astream流json输出4.异步事件astream_events流5.异步多线程1.同步stream流 import os from langchain_community.chat_models import ChatTongyios.environ["DASHSCOPE_API_KEY"] "sk-秘钥" llm ChatTongyi…

作者头像 李华