【C++语言】全面掌握const的用法

news2024/10/22 12:42:27

一、const 需要怎么理解??

       const修饰的变量不能够再作为左值,初始化完成之后,值不能被修改

1.1 C语言的const

const 修饰的量,可以不用初始化,不叫常量,叫做常变量。

void main()
{
    const int a = 20;
    
    int *p = (int*) &a;
    *p = 30;
    // 30 30 30
    printf("%d %d %d\n", a, *p, *(&a));
    return 0; 
}

1.2 C++语言的const

 必须初始化,叫做常量,如果初始值不是一个立即数,叫做常变量,是一个变量。

1.3 C和C++中const的区别是什么??

       const的编译方式不同,在C中,const就是当做一个变量来编译生成指令的,C++中所有出现const常量的名字的地址,都被常量的初始化替换了。

二、const 和一级指针的结合 && const和二级指针的结合

2.1 const 修饰的量叫做常量,普通变量的区别是什么??

       C++中有两点区别:1.编译方式不同  2. 不能作为左值了,

2.2 const 修饰的量尝出现的错误是:        

  • 常量不能再作为左值,直接修改常量的值
  • 不能把常量的地址泄露给一个普通的指针或者普通的引用变量 可以借鉴修改常量的值

2.3 const 和一级指针的结合

C++的语言规范:const 修饰的是离他最近的类型

总结const和指针的类型转换公式:

       这里需要注意一下:const 如果右边没有指针* 的话,const 是不参与类型的。测试代码如下:

int *q1 = nullptr;
int *const q2 = nullptr;

cout << typeid(q1).name() << endl;
cout << typeid(q2).name() << endl;

///
答案:

int *
int *

2.4 const 和二级指针的结合

永远只有一级指针,剩下的就是指针的类型.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2220805.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows git 配置

需要在git-bash的目录下,配置.ssh 的配置文件 要 .ssh 目录下的配置无法使用

Modbus TCP报错:Response length is only 0 bytes

问题描述&#xff1a; 使用modbus_tk库&#xff0c;通过Modbus tcp连接PLC时&#xff0c;python中的一个报错信息&#xff1a; Response length is only 0 bytes报错原因&#xff1a; 与Modbus TCP 服务端建立连接后没有断开&#xff0c;继续作为长连接使用&#xff0c;客户端…

一文掌握Cephadm部署Ceph存储集群

&#x1f4da; 博客主页&#xff1a; StevenZeng学堂 &#x1f389; 本文专栏: 一文读懂Kubernetes一文读懂Harbor云原生安全实战指南云原生存储实践指南 ❤️ 摘要&#xff1a;随着企业数据量的增长和存储需求的复杂化&#xff0c;Ceph因其高可扩展性和灵活性&#xff0c;能…

AI劳动力崛起:人将面临失业危机?

场景 第一眼看到这个网站的时候&#xff0c;AI员工官网&#xff08;好像是部署在美国&#xff09;&#xff0c;我觉得很好奇&#xff0c;真的可以让AI替代人类完成工作吗&#xff1f;替代到什么程度呢&#xff1f;能以自然语言直接驱动吗&#xff1f; 正好手上在做爬虫项目&am…

HCIP-HarmonyOS Application Developer 习题(十六)

&#xff08;判断&#xff09;1、HiLink通过分布式软总线的方式连接所有设备&#xff0c;强能力设备可对弱能力设备进行设备虚拟化&#xff0c;将弱设备当做本机设备直接调用。 答案&#xff1a;错误 分析&#xff1a;HiLink 主要针对的是应用开发者与第三方设备开发者&#xf…

医院排队叫号系统

医院分诊排队叫号系统是一种广泛应用于服务行业的智能化管理系统&#xff0c;系统可有效地解决病人就诊时排队的无序、医生工作量的不平衡、就诊环境嘈杂等问题&#xff0c;它主要用于改善服务流程&#xff0c;提高服务效率&#xff0c;优化客户体验。这种系统通常包括以下几个…

HarmonyOS Next应用开发——多种方式实现图片解码

【高心星出品】 图片解码 图片处理就是将设备中保存的图片进行编辑处理然后再存储下来&#xff0c;整个过程需要先图片解码&#xff0c;图片处理&#xff0c;最后在图片编码保存。 图片解码指将所支持格式的存档图片解码成统一的PixelMap&#xff0c;以便在应用或系统中进行…

【贝加莱PLC基础教学】2.1 搜索并连接到对应的PLC(1)

【贝加莱PLC基础教学】目录大全_贝加莱plc p23 1361-CSDN博客 PLC其实和单片机差别不大&#xff0c;无非就是大一点的单片机。另外多加了一点点计算机网络和通讯知识&#xff0c;然而就是这一点点计算机网络知识让大家望而却步。 0.基础知识 在计算机网络中&#xff0c;我们通…

Notepad++通过自定义语言实现日志按照不同级别高亮

借助Notepad的自定义语言可以实现日志的按照不同级别的高亮&#xff1b; 参考&#xff1a; https://blog.csdn.net/commshare/article/details/131208656 在此基础上做了一点修改效果如下&#xff1a; xml文件&#xff1a; <NotepadPlus><UserLang name"Ansibl…

深度学习--CNN实现猫狗识别二分类(附带下载链接, 长期有效)

1. 代码实现(包含流程解释) 样本量: 8005 # # 1.导入数据集(加载图片)数据预处理# 进行图像增强, 通过对图像的旋转 ,缩放,剪切变换, 翻转, 平移等一系列操作来生成新样本, 进而增加样本容量, # 同时对图片数值进行归一化[0:1] from tensorflow.keras.preprocessing.image …

Altair官方教程——HyperMesh视觉控制

在HyperMesh中&#xff0c;模型视角控制可通过标准视图&#xff08;Standard Views&#xff09;工具栏、三维视图控制&#xff08;3D View Controls&#xff09;工具栏以及鼠标实现。 (1) 标准视图工具栏图标。 (2) 鼠标控制- 显示控制的推荐操作方法是使用鼠标。配合键盘上的 …

Lfsr32

首先分析 Lfsr5 首先要理解什么是抽头点&#xff08;tap&#xff09;&#xff0c;注意到图中有两个触发器的输入为前级输出与q[0]的异或&#xff0c;这些位置被称为 tap position.通过观察上图&#xff0c;所谓抽头点指的就是第5个&#xff0c;第3个寄存器的输入经过了异或逻辑…

nosql课本习题

nosql题目 1. 文档数据库相比其他 NoSQL 的突出优势和特点是什么&#xff1f; 答案&#xff1a; 文档数据库的突出优势在于它的灵活性和可扩展性。不同于传统的关系型数据库&#xff0c;文档数据库允许存储半结构化和非结构化数据&#xff0c;每个文档可以有不同的字段&#x…

Django操作数据库

Django操作数据库 1、ORM框架2、ORM-创建数据库3、ORM-连接数据库4、ORM-操作表4.1、类创建表4.2、修改表结构4.2.1、删除表结构4.2.2、新增表结构 5、ORM-增删改查5.1、新增数据5.2、删除数据5.3、查询数据5.4、更新数据 1、ORM框架 Django开发操作数据库很简单&#xff0c;内…

沈阳乐晟睿浩科技有限公司技术创新,奠定坚实基础

在当今数字经济蓬勃发展的时代&#xff0c;电子商务以其独特的魅力和无限潜力&#xff0c;正深刻改变着人们的消费习惯与商业模式。在这场变革中&#xff0c;沈阳乐晟睿浩科技有限公司凭借其敏锐的市场洞察力、强大的技术实力以及前瞻性的战略眼光&#xff0c;迅速崛起&#xf…

Java爬虫:获取数据的入门详解

在数字化时代&#xff0c;数据已成为最宝贵的资产之一。无论是市场研究、客户洞察还是产品开发&#xff0c;获取大量数据并从中提取有价值的信息变得至关重要。Java&#xff0c;作为一种成熟且功能强大的编程语言&#xff0c;为编写爬虫提供了强大的支持。Java爬虫可以帮助我们…

月入30万!用AI做养生赚麻了,全网最全最详细的变现教程

现在不养生&#xff0c;将来养医生&#xff01; 秋冬将至&#xff0c;又到了宝子们养生意识季节性觉醒的时间了&#xff0c;这时候&#xff0c;网上关于养生的内容搜索量激增&#xff0c;也催生了AI养生自媒体创作的热潮。 比如这位博主采用养生文案搭配AI简笔画的形式&#…

拥抱新质生产力 | 大势智慧亮相第12届中国测绘地理信息技术装备博览会

10月15日—17日&#xff0c;由中国测绘学会主办的2024中国测绘地理信息科学技术年会暨中国测绘地理信息技术装备博览会在河南省郑州市隆重举行。 10月15日&#xff0c;第12届中国测绘地理信息技术装备博览会在郑州国际会展中心盛大开幕。 大势智慧CTO张帆受邀出席博览会开幕式…

pdman在关系图中展示表的后排字段

1.当想在关系图中通过箭头指向来表明表与表之间的关系时&#xff0c;发现对应关联表的关联字段不展示&#xff08;原表该字段展示在后排&#xff0c;关系图只展示前排字段&#xff09; 2.找到对应表&#xff0c;对该字段手动设置可见 3.保存后再次进入关系图即可看到 3.1 3.2…

LabVIEW程序员可以从哪几个方面提升自己?有没有详细的路线图?

作为一名LabVIEW程序员&#xff0c;要在快速发展的技术领域保持竞争力并不断提升自己&#xff0c;需要从多个方面进行持续的学习和实践。下面我将为你详细说明LabVIEW程序员提升自己的几个关键方向&#xff0c;并给出具体的成长路线图。 1. 夯实基础&#xff1a;掌握LabVIEW的…