【C++ | 关键字】C++ 关键字介绍

news/2024/5/19 4:42:36

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀
🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭
⏰发布时间⏰:2024-05-04 00:23:31

本文未经允许,不得转发!!!

目录

  • 🎄一、C++ 关键字
  • 🎄二、与C语言关键字的区别
    • ✨2.1 auto 关键字
    • ✨2.2 const 关键字
  • 🎄三、C++常用的关键字
  • 🎄四、总结


在这里插入图片描述

🎄一、C++ 关键字

关键字是组成编程语言词汇表的标识符,它们不能用于其他用途,如用作变量名。
下表列出了 C++ 关键字(共73个), 其中以红色字体显示的关键字也是 ANSI C99 标准中的关键字(共33个)。

alignasalignofasmatuobool
breakcasecatchcharcharl6_t
char32_tclassconstconst_castconstexpr
continuedecltypedefaultdeletedo
doubledynamic_castelseenumexplicit
exportexternfalsefloatfor
friendgotoifinlineint
longmutablenamespacenewnoexcept
nullptroperatorprivateprotectedpublic
registerreinterpret_castreturnshortsigned
sizeofstaticstatic_assertstatic_caststruct
switchtemplatethisthread_localthrow
truetrytypedeftypeidtypename
unionunsignedusingvirtualvoid
volatilewchat_twhile

在这里插入图片描述

🎄二、与C语言关键字的区别

C语言有32个关键字,上面表格中ANSI C99的33个关键字就是在这32个的基础加了一个inline。关于C语言的32个关键字,可以看看我以前的文章:
C语言32个关键字详解(1):数据类型部分(char、short、int、long、float、double、struct、union、enum、void)
C语言32个关键字详解(2):修饰类型部分(auto、signed、unsigned、static、extern、const、register、volatile)
C语言32个关键字详解(3):结构语句部分(if、else、switch、case、default、do、while、for、break、continue、return、goto)
C语言32个关键字详解(4):其他(typedef、sizeof)

下面介绍这32个关键字在C++语言中,用法不同的地方。

✨2.1 auto 关键字

在C语言中,auto关键字几乎没什么用处,编译器默认所有的变量都是auto的。

C++11 新增了一个工具,让编译器能够根据初始值的类型推断变量的类型。为此,它重新定义了 auto 的含义。在定义变量时,如果使用关键字 auto,,而不指定变量的类型,编译器将把变量的类型设置成与初始值相同:

auto n = 100;	// n is int
auto x = 1.5;	// x is double
auto y = 1.3el2L;// y is long double

✨2.2 const 关键字

C语言中,const修饰的是 只读变量 而不是 常量;const修饰的变量,只是表示了该变量不能直接修改,但可以通过它的地址,间接修改;const修饰的只读变量不能用于case关键字后面作为判断条件。C语言的const变量不可以指定数组长度,不能在case语句使用。

C++中,const 关键字可以用来定义常量,定义const常量时,必须初始化,且const常量创建后,其值不可改变。
C++的 const 会在编译期间就把所有的const常量替换成对应的值。
const比#define宏好的原因:①const 可以指定类型;②可以使用作用域规则将定义限制在某个函数或文件;③可以将const用于更复杂的类型。
C++的 const 常量可以指定数组程度,可以在case语句使用,因为它是真正的常量。
一般情况下,引用的类型必须与其所引用的对象一致。而const引用有两个例外:①const引用允许被初始化成可以转换成该引用类型的字面值常量;②const引用允许被初始化成可以被转换成该引用类型的其他类型变量。

举例子:

// 05_const.cpp 
// g++ 05_const.cpp 
#include <iostream>using namespace std;const int arr_size = 10;
const int Int_one = 1;
const int Int_two = 2;
int main()
{int arr[arr_size] = {0,1,2,}; // const 常量指定数组长度int i = 1;switch(i){case Int_one: // // const 常量在case语句使用cout << i << endl;break;case Int_two:cout << i << endl;break;default: break;}short s = 10;const int &ra = 5;// const引用允许被初始化成可以转换成该引用类型的字面值常量;const int &rb = s;// const引用允许被初始化成可以被转换成该引用类型的其他类型变量。
}

在这里插入图片描述

🎄三、C++常用的关键字

C语言的那32个关键字在C++中也很常用,但是在以前的文章(见上一小节)介绍过了,而且上个小节也把比较大区别的也讲解了一下,这个小节主要看看C++比C语言新增的,而又常用的关键字。

主要有下面几类常用的关键字:

  • 类型相关的:bool、charl6_t、char32_t、wchat_t;
  • 类型值相关的:true、false、nullptr;
  • 类型转换的:const_cast、dynamic_cast、reinterpret_cast、static_cast;
  • 内存管理的:new、delete;
  • 作用域相关的:using、namespace
  • 类设计相关的:class、friend、operator、private、protected、public、template、this

在这里插入图片描述

🎄四、总结

👉本文介绍C++的73个关键字,并介绍与C语言的32个关键字的区别,最后列出C++常用的关键字。

在这里插入图片描述
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁


http://www.mrgr.cn/p/43167118

相关文章

c#的try-catch-finally

在编码过程中经常出现这样的代码int Tec(){int i = 0;try{int c = i / 0;return c;}catch{return 0;}} 然后我们来看反编译后的代码 编译器会把结果保存到一个result的中间变量中,然后最后统一返回

GPU 架构与 CUDA 关系 并行计算平台和编程模型 CUDA 线程层次结构 GPU 的算力是如何计算的 算力峰值

GPU 架构与 CUDA 关系 本文主要包含 NVIDIA GPU 硬件的基础概念、CUDA(Compute Unified Device Architecture)并行计算平台和编程模型,详细讲解 CUDA 线程层次结构,最后将讲解 GPU 的算力是如何计算的,这将有助于计算大模型的算力峰值和算力利用率。 GPU 硬件基础概念GP…

STM32-HAL库12-STM32F407VGT6的PWM主从定时器,发送指定数量脉冲

STM32-HAL库12-STM32F407VGT6的PWM主从定时器&#xff0c;发送指定数量脉冲 一、所用材料 STM32F407VGT6自制双伺服电机控制板&#xff1b; 一川A1系列伺服电机驱动器&#xff08;电0.73KW电机&#xff09;&#xff1b; 二、所学内容 实现PWM发送指定个数脉冲&#xff0c;以…

Verilog插件:补全模块实例模板

Intellij IDEA插件Verilog Language Support,v2024.2.0版本特性。

深入学习和理解Django模板层:构建动态页面

title: 深入学习和理解Django模板层:构建动态页面 date: 2024/5/5 20:53:51 updated: 2024/5/5 20:53:51 categories:后端开发tags:Django模板 表单处理 静态文件 国际化 性能优化 安全防护 部署实践第一章:模板语法基础 Django模板语法介绍 Django模板语法是一种简洁而强大的…

第一阶段复习

目录最短路部分最小环传递闭包Dij证明反图负环最短路计数次短路分层图的几个典例最短路结合二分 最短路部分 最小环 一些细节:枚举最小环是依据还没有更新经过k的最短路,所以要写在更新经过k的最短路之前。要判断是否存在路径。ijk三指针需要i与k、j与k相连。 传递闭包 f[i][…

开源运维监控平台【WGCLOUD】的调研报告 2024

WGCLOUD是一款开源免费的运维监控软件,具有设计严谨,功能丰富,部署简单,上手学习容易,性能优秀,免费开源开放等特点 网站下载:www.wgstart.com 1、WGCLOUD可以监控各种主机,包括物理机、实体机、虚拟机、云主机、VPS等主机或者服务器 监控指标数据包括:操作系统信息,…

面试必问并发编程内存模型JMM与内存屏障剖析 学习

总课程:1、JMM。每个线程会产生一个变量副本。如下图所示,第二个变量修改了变量initFlag,但线程1并不会退出,是因为每个线程产生了副本。----解决方法:volatileCPU缓存一致性协议:MESI机制,以及内存模型底层八大原子操作。Volatile缓存可见性实现原理:底层实现主要通过…

【详细教程】手把手教你开通YouTube官方API接口(youtube data api v3)

马哥原创教程:开通youtube的API,方便后续调用接口实现爬虫。一、背景调查 1.1 youtube介绍 众所周知,youtube是目前全球最大的视频社交平台,该平台每天产生大量的视频内容,涵盖各种主题和类型,从音乐视频到教育内容,再到娱乐节目和新闻报道等。YouTube的用户群体也非常广…

工作问题记录React(持续更新中)

一、backdrop-filter:blur(20px); 毛玻璃效果&#xff0c;在安卓机上有兼容问题&#xff0c;添加兼容前缀也无效&#xff1b; 解决方案&#xff1a;让设计师调整渐变&#xff0c;不要使用该属性! 复制代码 background: radial-gradient(33% 33% at 100% 5%, #e9e5e5 0%, rgba…

SQL注入漏洞--报错/union/布尔盲注/时间盲注

之前介绍了数据库的基本操作&#xff0c;今天这篇文章就来实操SQL注入。 阅读本文前可以先看一下基本操作&#xff0c;有助于更好理解本文。。。 https://blog.csdn.net/weixin_60885144/article/details/138356410?spm1001.2014.3001.5502 what SQL---结构化查询语言---S…

spring项目创建

从spring initializer下载一个demo Spring boot 在idea中 需要配置java版本和maven版本之后:mvn package不需要下载tomcat,Spring里面pom中包含内置tomcat<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-…

库存管理系统开源啦

软件介绍 ModernWMS是一个针对小型物流仓储供应链流程的开源库存管理系统。该系统的开发初衷是为了满足中小型企业在有限IT预算下对仓储管理的需求。通过总结多年ERP系统研发经验&#xff0c;项目团队开发了这套适用于中小型企业的系统&#xff0c;以帮助那些有特定需求的用户。…

华为鸿蒙系统(Huawei HarmonyOS)

华为鸿蒙系统&#xff08;华为技术有限公司开发的分布式操作系统&#xff09; 华为鸿蒙系统&#xff08;HUAWEI HarmonyOS&#xff09;&#xff0c;是华为公司在2019年8月9日于东莞举行的华为开发者大会&#xff08;HDC.2019&#xff09;上正式发布的分布式操作系统。 华为鸿蒙…

数仓开发:DIM层数据处理

一、了解DIM层 这个就是数仓开发的分层架构 我们现在是在DIM层&#xff0c;从ods表中数据进行加工处理&#xff0c;导入到dwd层&#xff0c;但是记住我们依然是在DIM层&#xff0c;而非是上面的ODS和DWD层。 二、处理维度表数据 ①先确认hive的配置 -- 开启动态分区方案 -- …

高一下三调|ssy的队列|hash dp|题解

SSY的队列题目链接 解析: 考场上看到这个题第一眼是绝望的,毕竟数论咱是一窍不通. 但是往下细看了看这个数据范围,N是很小的,就想了想模拟. 然而只骗到10分. 这个题绩效较高的解法是状压dp,在N<15的范围之内均可薄纱(ppllxx_9G也是成功拿到这70 rank 1了 orz),可得70,但是一…

Git——关于Git的一些补充(1)

Git——关于Git的一些补充(1) 提示:图床在国外且动图比较多的情况下,需要时间加载。 目录: 目录Git——关于Git的一些补充(1)提示:图床在国外且动图比较多的情况下,需要时间加载。目录:Git基础Git文件的生命周期Git文件的存储空间的划分Git安装过程补充说明Git的撤销…

UHF RFID 使用小记

1,概念 UHF:Ultra High Frequency;超高频。 RFID:Radio Frequency Identification;射频识别。 电子标签:即RFID标签,是RFID的俗称。 PDA:Personal Digital Assistant;个人数字助理。 发卡器:对卡进行读写操作的工具。 EPC:Electronic product code;电子产品代码。 …

企业计算机服务器中了lockbit勒索病毒如何处理,lockbit勒索病毒解密流程建议

在虚拟的网络世界里&#xff0c;人们利用网络获取信息的方式有很多&#xff0c;网络为众多企业提供了极大便利性&#xff0c;也大大提高了企业生产运营效率&#xff0c;方便企业开展各项工作业务。但随着网络技术的不断发展与应用&#xff0c;越来越多的企业开始关注企业网络数…

RAGFlow:安装与体验

服务器需要有docker,或者直接访问官方提供的demo: https://demo.ragflow.io/ docker-compose安装 需要确保 vm.max_map_count 不小于 262144 【更多】:sysctl -w vm.max_map_count=262144 克隆仓库:$ git clone https://github.com/infiniflow/ragflow.git 进入 doc…