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

c++ 指针、引用和常量

指针、引用和常量的关系_夜悊的博客-CSDN博客

1.

① 指针是对象,引用不是对象(在此可以理解为变量,一个变量是一个对象)

  • 指针不必须初始化
  • 引用只是为一个已经存在的对象所起的另一个名字(别名):所以普通引用不可指向常量
  • 引用必须初始化(初始化时的右值是一个已经存在的对象
int *p;	int val;	    //一个已经存在的“对象”
int &ref = val;int &ref1;	    //× 引用必须初始化
int &ref2 = 1;	//× 普通引用不可指向常量

② 不能定义指向引用的指针(因为引用不是对象)

int val;
int &ref=val;
int &*p=ref;	//×

③ 可以定义指向指针的引用(因为指针是对象)

int a = 3;
int* p = &a;
int& ref = p;  // x
int&* ref = p; // x 即 int& (*ref) = p;
int*& ref = p; // 即 int* (&ref) = p;

int &*p  错误,*与p靠得最近,所以p是一个指针,但是这个指针的类型是int &,所以这个是错吴的, 因为不能创建引用的指针。

int *& p 正确, &与p靠得最近,所以p是一个引用,这个引用的类型是int*,也就是一个指针变量的引用,但是必须初始化,否则也是错误的。

④  不能定义引用类型的常量(因为引用不是对象):可以简记为const&,但没有&const。

  • 普通指针不可指向常量,普通指针也不可指向const变量
  • 指向常量的指针可指向常量
  • 指向常量的指针可指向非常量
  • 普通引用不可指向常量
  • 指向常量的引用可指向常量
  • 指向常量的指针可指向非常量
int val = 0;
int &const ref = val; // × 不能定义引用类型的常量
int const &ref = val; // 指向常量的引用可以(简称”常引用“)

注:const可以修饰基础类型或指针,不能修饰引用(因为const只能修饰对象)。 

zconst关键字修饰的对象_sgbl888的博客-CSDN博客_const修饰对象

相关文章:

c++ 指针、引用和常量

指针、引用和常量的关系_夜悊的博客-CSDN博客 1. ① 指针是对象,引用不是对象(在此可以理解为变量,一个变量是一个对象) 指针不必须初始化引用只是为一个已经存在的对象所起的另一个名字(别名)&#xff…...

1、HAL库UART 中断|DMA 自动回显接收数据

1、实现代码: stm32f4xx_hal_conf.h文件开启UART宏定义 #define HAL_UART_MODULE_ENABLED添加stm32f4xx_hal_uart.c和stm32f4xx_hal_dma.c到自己工程; 编写好的代码:usart_Driver.c /***************************************************…...

NPOI - ConditionalFormattingRule

NPOI 给xls(xlsx)创建条件格式 获取 XSSFSheetConditionalFormatting 对象 初始化 IWorkbook _workbook new XSSFWorkbook(); ISheet _dataSheet _workbook.GetSheet("template"); ISheetConditionalFormatting fcs _dataSheet.SheetConditionalFormatting;调用…...

JavaのString类这一篇就够了(包含StringBuffer_Builder)

1.🥗String类简介 在我们写代码的时候,String总是充斥着前前后后。 但你会不会经常力不从心, “这个*** 字符串怎么** 转换不成功啊” “*** 这个字符串到底是常量还是对象啊” “这*** 字符串内存结构到底* * * 是什么啊” “为啥我的字符串…...

C# dataGridView 导出表格 xls NPOI 2.4.1 版本

using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; try { SaveFileDialog fileDialog new SaveFileDialog(); fileDialog.Filter “Excel(97-2003)|*.xls”; if (fileDialog.ShowDialog() System.Windows.Forms.DialogResult.Cancel) { return; } //不允许dataGridView…...

秒杀项目的消息推送

目录 一、创建消费者 二、创建订单链路配置 1.定义RabbitMQ配置类 2.创建RabbitmqOrderConfig配置类 三、如何实现RabbitMQ重复投递机制 1.开启发送者消息确认模式 2.消息发送确认 ① 创建ConfirmCallBacker确认模式 ② 创建ReturnCallBack退回模式 3.创建生产者 …...

最近开发及 vue3 几个小总结

只是单纯记录一下最近维护了几个项目之后的感触,也只是在自己现在水平上面的一些感觉。发发牢骚,水水文章 是否过度封装 可能水平不够吧,在 axios 封装的时候,只是把响应和拦截还有一些全局的配置封装了一下,并没有加…...

代谢组学分享-花青素通过调节氨基酸代谢改善糖尿病肾病的肾功能

代谢组学文献分享,文章标题:Anthocyanin improves kidney function in diabetic kidney disease by regulating amino acid metabolism 发表期刊:Journal of Translational Medicine 影响因子:8.44 作者单位:中山大…...

超简单!pytorch入门教程:Tensor

超简单!pytorch入门教程:Tensor 一、pytorch安装 安装pytorch之前,需要安装好python(废话),还没安装过python的宝宝请先移步到廖雪峰的python教程,待安装熟悉完之后,再过来这边。 …...

如何使用COCO数据集,注意事项

COCO数据集可用来训练目标检测,分类,实例分割等。 下面简单说下如何使用这个数据集, 数据集下载可用如下的代码进行,以2017为例。 # Download the image data. cd ./images echo "Downloading MSCOCO train images ...&quo…...

金三银四跳槽季,JAVA面试撸题就来【笑小枫】微信小程序吧~

JAVA面试撸题就来【笑小枫】微信小程序啦~ 疫情已过,金三银四即将到来,小伙伴们是否有跳槽的打算呢?不管有没有,技术不能丢,让我们一起来撸题吧。 博主最近整理了一批面试题,包括JAVA基础、多线程与锁、Red…...

分享115个HTML电子商务模板,总有一款适合您

分享115个HTML电子商务模板,总有一款适合您 115个HTML电子商务模板下载链接:https://pan.baidu.com/s/158y3jP0tv7ZikxNOBMKsSg?pwdt970 提取码:t970 Python采集代码下载链接:采集代码.zip - 蓝奏云 import os import shuti…...

Python 字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号 ( 或 " ) 来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:var1 Hello World!var2 "Python Runoob"Python 访问字符串中的值Python 不支持单字符类型&#xff…...

总线定义,车载总线:车载etherNet or CAN

总线的定义总线是连接多个设备或者接入点的数据传输通路。这里面的关键词是多个设备或者接入点,所以不要过于局限的看待总线。根据互联的设备/接入点不同,传输的数据带宽,速率,距离不同和应用场景的不同都可能有不同的总线。不同的…...

Python(for和while)循环嵌套及用法

Python 不仅支持 if 语句相互嵌套,while 和 for 循环结构也支持嵌套。 所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 for,while 里面还有 while,甚至 while 中有 for 或者…...

6万字电力行业系统解决方案光伏电站综合安防系统解决方案

【版权声明】本资料来源网络,知识分享,仅供个人学习,请勿商用。【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间删除!完整资料领取见文末,部分资料内容: 目录 第 一 章背景与需求 1.1行…...

[Android Studio]Android 数据存储--SQLite数据库存储

🟧🟨🟩🟦🟪 Android Debug🟧🟨🟩🟦🟪 Topic 发布安卓学习过程中遇到问题解决过程,希望我的解决方案可以对小伙伴们有帮助。 📋笔记目…...

学校节能降耗减排方案——能耗监管平台的建设及效果剖析

摘要:作为崭新的校园能耗管理手段,能耗监测平台以传统管理方式无法企及的优势有力地提升了高校能源管理工作的水平.从而受到了相关管理者的青睐。本文梳理总结了高校能耗监测平台的基本组成和优势特点,同时对能耗平台建设和使用中…...

探索IP地址的应用

无论是互联网行业还是传统行业都会用到网络,作为企业如何维护网络安全,保障网站不被攻击,数据不被泄露等。这个时候我们就会通查询IP归属地,辅助企业解决安全问题。下面介绍一下ip归属地在各行业的具体应用。1.网安行业应用一&…...

点赞破万!阿里面试官总结的2022最新1685页Java面试宝典太全了

程序员入职企业的难度也在持续加大,如何顺利通过面试成为了大家所关心的话题。针对这些人群的需求,小编从阿里找来一份让大家在求职过程中旗开得胜!是从什么时候开始准备的?大概的我已经记不清了,可能是 4 月份左右开始…...

Rufus NTFS启动扇区修复:从源码分析到实战解决USB启动失败问题

Rufus NTFS启动扇区修复:从源码分析到实战解决USB启动失败问题 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus Rufus作为可靠的USB格式化工具,在制作Windows安装介质时提供…...

专精特新企业品牌升级实操:把技术专长转换成客户敢选的购买理由

最容易做错的一步,不是没做,而是把“专精特新企业品牌升级”做成了换壳:标题换了,结构没换;字数变了,判断逻辑没变。一、问题定义很多专精特新企业都会遇到一种很委屈的状态:客户见完之后说“你…...

如何快速导出原神祈愿记录:完整的数据分析与可视化指南

如何快速导出原神祈愿记录:完整的数据分析与可视化指南 【免费下载链接】genshin-wish-export biuuu/genshin-wish-export - 一个使用Electron制作的原神祈愿记录导出工具,它可以通过读取游戏日志或代理模式获取访问游戏祈愿记录API所需的authKey。 项…...

力扣刷题——101. 对称二叉树

101. 对称二叉树 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1:输入:root [1,2,2,3,4,4,3] 输出:true 示例 2:输入:root [1,2,2,null,3,null,3] 输出:false 提示: 树…...

复调制频谱细化(Zoom-FFT)保姆级教程:从原理到MATLAB代码逐行解析

复调制频谱细化(Zoom-FFT)全流程实战:从数学推导到MATLAB工程实现 频谱分析是数字信号处理的核心技术之一,但在实际工程中常会遇到密集频谱难以分辨的困境。想象一下,当你面对一组间距仅2Hz的50Hz工频谐波,…...

ipmitool实战:解决‘no matching cipher suite‘错误的3种方法(附详细命令)

IPMITool加密套件不匹配问题的深度解析与实战解决方案 当你在深夜的机房调试服务器,突然遇到"no matching cipher suite"错误时,那种挫败感只有运维人员才能体会。作为数据中心远程管理的瑞士军刀,IPMITool在跨版本兼容性上偶尔会给…...

NaViL-9B实战手册:从CSDN GPU平台开通到Web界面可用的5步流程

NaViL-9B实战手册:从CSDN GPU平台开通到Web界面可用的5步流程 1. 平台与模型介绍 NaViL-9B是上海人工智能实验室发布的一款原生多模态大语言模型,它同时支持纯文本问答和图片理解功能。这意味着你可以像和朋友聊天一样,用文字提问&#xff…...

MySQL 事务锁等待问题定位方案

MySQL事务锁等待问题定位方案 在高并发数据库场景中,事务锁等待是导致性能下降甚至系统卡顿的常见问题。当多个事务同时竞争同一资源时,可能因锁冲突导致事务长时间阻塞,进而影响业务响应。如何快速定位并解决这类问题?本文将介绍…...

gh_mirrors/dnf/dnf容器化部署与多环境适配技术指南

gh_mirrors/dnf/dnf容器化部署与多环境适配技术指南 【免费下载链接】dnf 项目地址: https://gitcode.com/gh_mirrors/dnf/dnf gh_mirrors/dnf/dnf项目通过Docker容器化技术实现了地下城与勇士(DNF)服务端的跨平台部署,支持在Linux服务器、群晖NAS等多种环境…...

LangChain 1.x 实战入门:从零到一搭建你的第一个AI应用

1. 环境准备:从零搭建LangChain开发环境 第一次接触LangChain时,最让人头疼的就是环境配置。我刚开始用的时候,光是处理Python版本冲突就浪费了半天时间。现在咱们用更现代的工具链,5分钟就能搞定所有准备工作。 首先确保你的系统…...