《C++ Primer》--学习1

news2024/12/19 21:38:25

变量和基本类型

NULL是一个预处理变量,用NULL初始化指针和用0初始化指针是一样的(但是不可以直接用值为0的int变量来初始化),应该尽量用nullptr,避免使用NULL

指向指针的指针

声明符中修饰符的个数并没有限制,当有多个修饰符连写在一起时,按照逻辑关系解释就可以了

**表示指向指针的指针,***指向指针的指针的指针

 

 指向指针的引用

引用本身不是一个对象,因此不能定义指向引用的指针,但指针是对象,所以存在对指针的引用

 const限定符

默认状态下,const对象仅在文件内有效

如果想在多个文件之间共享const对象,必须在变量的定义之前添加extern关键字

指针和const

指向常量的指针不能用于改变其所指对象的值,要想存放常量对象的地址,只能使用指向常量的指针

 指针的类型必须与其所指对象的类型一致,但是允许令一个指向常量的指针指向一个非常量对象,指向常量的指针仅仅要求不能通过该指针改变对象的值,而没有规定那个对象的值不能通过其他途径改变

常量指针必须初始化,初始化后就不许更改  写作:*const

 顶层const

用名词顶层const表示指针本身是一个常量,也可以表示任意的对象是常量。名词底层const表示指针所指对象是一个常量

 拷贝的时候底层const的限制不能忽略,当执行对象的拷贝操作时,拷入和拷出的对象必须具有相同的底层const资格,或者两个对象的数据类型必须能够转换

 constexpr和常量表达式

常量表达式是指值不会改变并且在编译过程就能得到计算结果的表达式

用字面值初始化的const对象是常量表达式,用被初始化的常量表达式初始化的也是

允许将变量声明为constexpr类型以便由编译器来验证变量的值是都是一个常量表达式,声明为constexpr的变量一定是一个常量,而且必须用常量表达式来初始化

字面值类型

算术类型,引用和指针都属于字面值类型,自定义类,IO库,string类型不属于字面值类型,也就不能被定义为constexpr。

函数体内定义的变量并非存放在固定地址内,因此constexpr指针不能指向这样的变量

处理类型

类型别名:

 

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

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

相关文章

redis中sort妙用,实现动态生成排行榜

在游戏中,有很多维度的排行榜,服务器在实现过程中,一般都要预先维护对应因子的zset,比如根据玩家等级来排序,那就需要对应有一个level作为score的zset,如果是以战斗力排序,那就用战力作为score维…

微服务基础介绍

Part1一、基本概念 微服务最主要的功能是根据业务拆分成一个一个的子服务,实现功能的去耦合,每一个微服务提供单个业务功能的服务,各司其职,从技术角度看就是一种灵活独立的单元,能够自行单独启动和关闭,一…

亚马逊云科技中国峰会:自主驾驶开发平台 Amazon DeepRacer

0.引言 自动驾驶技术的快速发展和应用前景已经引起了广泛的关注,毋庸讳言,无人驾驶已经成为当今及未来前沿科技公司的重点研究方向。在这个领域中,Amazon DeepRacer作为一款全面的自主驾驶开发平台备受瞩目。 1.了解Amazon DeepRacer 1.1 什…

什么是消息队列(MQ)

其实字面意思很清楚了,存放消息的队列。 由于它的应用场景在服务器方面被重新定义而名声大噪,它的价值也被由原先的通信而重新定义,成为高并发场景下,分布式系统解耦合,任务异步,流量削峰的利器。 其实消息…

【flink】SinkUpsertMaterializer

在flink cdc同步数据时,基于sql的实现方式中发现了作业DAG有个SinkMaterializer算子,而且检查checkpoint历史时发现该算子state越来越大, 有必要搞清楚为什么会多了这个算子,作用又是什么。 通过算子名称定位到了源码为类org.apa…

常用API(String,ArrayList)

1:String类概述 String是字符串类型,可以定义字符串变量指向字符串对象String是不可变字符串的原因?1.String变量每次的修改都是产生并指向新的字符串对象。2.原来的字符串对象都是没有改变的,所以称不可变字符串。 2:String创建…

一文搞懂VOS费率前缀、地区前缀的区别和使用

登录VOS3000客户端 进入费率管理 "VOS费率前缀"和"地区前缀"的主要区别如下: VOS费率前缀:VOS(Voice Over Service)费率前缀是指用于国际长途电话呼叫的特定前缀号码。不同的运营商或服务提供商可能会使用不同的VOS费率前缀,用于标识国际长途通话的费…

49 最佳实践-性能最佳实践-Nvme磁盘直通

文章目录 49 最佳实践-性能最佳实践-Nvme磁盘直通49.1 概述49.2 操作指导 49 最佳实践-性能最佳实践-Nvme磁盘直通 49.1 概述 设备直通技术是一种基于硬件的虚拟化解决方案,通过该技术,虚拟机可以直接连接到指定的物理直通设备上。对于用户来说&#x…

ByteV联合“智农”打造数字孪生高标准农田,助力乡村振兴

ByteV联合“智农”打造的数字孪生高标准农田,不仅要让粮食稳产、增产,更要对土壤肥力进行改良和提升。不仅能够实现科技引领农业发展,更在智慧农业的基础上实现一站式托管,真正做到技术提升、5G引领、建后管护的闭环管理。让高标准…

C语言之指针详解(7)

目录 本章重点 1. 字符指针 2. 数组指针 3. 指针数组 4. 数组传参和指针传参 5. 函数指针 6. 函数指针数组 7. 指向函数指针数组的指针 8. 回调函数 9. 指针和数组面试题的解析 上一篇博客我们说过会把回调函数的一些知识再给大家讲一遍 这里把void*强制类型转化为str…

【Hadoop】 | 搭建HA之报错锦集

知识目录 一、写在前面✨二、Hadoop的active结点无法主备切换🔥三、Hadoop Web端无法上传文件🍉四、hdfs创建文件夹报错🍭五、IDEA操作Hdfs无法初始化集群🔥六、Java无法连接Hdfs🍭七、找不到Hadoop家目录&#x1f525…

软件测试实战案例:支付功能板块如何测试?详细总结

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 大体上&#xff0…

ChatGPT数据安全隐患?本想提高效率,数据却遭泄露

一项新的研究发现,15%的员工经常在ChatGPT上上传公司数据,其中超过四分之一的数据被认为是敏感信息,这使公司在无形中面临安全漏洞的风险。 6月的研究报告《揭示真正的GenAI数据暴露风险》分析了超过10000名员工,主要研究员工如何…

(ICIP-2022)GAITTAKE:通过时间注意和关键点引导嵌入进行步态识别

GAITTAKE:通过时间注意和关键点引导嵌入进行步态识别 论文题目:GAITTAKE: GAIT RECOGNITION BY TEMPORAL ATTENTION AND KEYPOINT-GUIDED EMBEDDING 论文是华盛顿大学发表在ICIP 2022的工作 论文地址 ABSTRACT 步态识别是指根据远距离采集的视频数据&am…

【服务器数据恢复】OneFS文件系统下误删除文件的数据恢复案例

EMC Isilon存储结构: Isilon群集存储系统使用的是分布式文件系统OneFS。Isilon群集存储系统的每个节点均为单一OneFS文件系统,Isilon在进行横向扩展时不会影响数据的正常使用。Isilon群集存储系统所有节点在工作时都提供相同的功能,节点没有主…

js数组高阶函数——map()方法

js数组高阶函数——map方法 map()语法map()的基本使用map()的优缺点map()的使用场景去重双重for循环配合splie去重map循环配合Array.from去重set()去重filter…

es中索引那些事

0、前言 在了解倒排索引之前先理解下索引的作用: 查询数据的时候,最耗时的操作并不是CPU计算,也不是内存聚合,而是去磁盘将文档查到并拉取回来的过程。我们都知道在磁盘IO的过程中,顺序读写效率高于随机读写&#xf…

JavaWeb学习路线(4)——请求响应与分层解耦

一、概述 二、请求 (一)概念: 全名为HttpServletRequest,其目标是获取请求数据。 (二)简单请求: web端发送基本数据类型数据到服务器进行处理。 1、获取方式 (1)原…

ESP32学习之JSON,和接入心知天气

注意:手机热点或者网络不能开5.0GHz频段和WIFI6,不然ESP32连不上 心知天气账号(免费版即可),网站:心知天气 - 高精度气象数据 - 天气数据API接口 - 行业气象解决方案 (seniverse.com) V3的用户手册-天气实…

【业务功能篇29】Assert断言

业务场景: 当我们需要对一个接口方法验证是,在单元测试中,主要用于程序代码的调试或测试阶段 基本的使用就是assert condition,当 condition 为 true,就继续往下运行;当 condition 为 false,就抛…