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

😁博客主页😁:🚀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.mzph.cn/pingmian/6697.shtml

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

相关文章

手摸手,带你用vue撸后台

前言 说好的教程终于来了&#xff0c;第一篇文章主要来说一说在开始写实际业务代码之前的一些准备工作吧&#xff0c;但这里不会教你 webpack 的基础配置&#xff0c;热更新原理是什么&#xff0c;webpack速度优化等等&#xff0c;有需求的请自行 google&#xff0c;相关文章已…

【C++】详解STL的容器之一:list

目录 简介 初识list 模型 list容器的优缺点 list的迭代器 常用接口介绍 获取迭代器 begin end empty size front back insert push_front pop_front push_back pop_back clear 源代码思路 节点设计 迭代器的设计 list的设计 begin() end() 空构造 ins…

使用360绿色清理工具释放磁盘空间

缘起&#xff1a; 配置差的电脑&#xff0c;在尝试安装360安全卫士时&#xff0c;它变得非常卡顿&#xff0c;无法正常使用。我安装360的初衷其实是想定期清理C盘的空间&#xff0c;以优化电脑的性能。 经过一番探索&#xff0c;发现了一个方法&#xff0c;可以单独提取出360…

Docker镜像的创建和Dockerfile

一. Docker 镜像的创建&#xff1a; 1.基于现有镜像创建: &#xff08;1&#xff09;首先启动一个镜像&#xff0c;在容器里做修改docker run -it --name web3 centos:7 /bin/bash #启动容器​yum install -y epel-release #安装epel源yum install -y nginx #安…

物联网小demo

机智云生成代码 具体参考之前的文章 初始化 ADC用来使用光敏电阻 连续采样开启 采样的周期调高 定时器 定时器1用来实现延时 为了只用温湿度模块DHT11 定时器4用来和51进行交互 实现定时的发送和检测心跳信号 IIC 用来使用oled屏幕 USART 串口1和串口2是机智云自己…

ROS是什么

一、ROS通信机制--松耦合分布式通信 1、核心概念 ①节点&#xff08;node&#xff09;---软件模块 ②节点管理器&#xff08;ROS master&#xff09;---控制中心&#xff0c;提供参数管理 ③话题&#xff08;topic&#xff09;---异步通信机制&#xff0c;传输消息&#xf…

【设计模式】13、template 模板模式

文章目录 十三、template 模板模式13.1 ppl13.1.1 目录层级13.1.2 ppl_test.go13.1.3 ppl.go13.1.4 llm_ppl.go13.1.5 ocr_ppl.go 十三、template 模板模式 https://refactoringguru.cn/design-patterns/template-method 如果是一套标准流程, 但有多种实现, 可以用 template …

Py脚本_文件分类

最近发现通过Edge和chrome或者其他浏览器下载的文件都存放在一个地方就很繁琐&#xff0c;于是翻找以前的脚本来归纳这些文件&#xff0c;虽然有IDM下载独有会自动分类&#xff0c;但是相信很多同学都在一个文件里找文件&#xff0c;这次就写个Py脚本来实现这个功能。 # -*- c…

k8s集群安装

目录 部署步骤概览 1、基础环境部署 2、docker环境部署 3、配置k8s集群 4、集群初始化 5、安装dashboard软件 写在前面&#xff1a;本文安装单点master多node的k8s集群&#xff0c;主要用于k8s学习或k8s环境测试&#xff1b;部署的是1.23版本&#xff0c;在1.24版本起&am…

stm32单片机开发四、USART“串口通信“

串口的空闲状态时高电平&#xff0c;起始位是低电平&#xff0c;来打破空闲状态的高电平 必须要有停止位&#xff0c;停止位一般为一位高电平 串口常说的数据为8N1&#xff0c;其实就是8个数据位&#xff08;固定的&#xff09;&#xff0c;N就是none&#xff0c;也就是0个校验…

【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解

一、计算机网络的发展背景 1、网络的定义 网络是指将多个计算机或设备通过通信线路、传输协议和网络设备连接起来&#xff0c;形成一个相互通信和共享资源的系统。 &#xff08;1&#xff09; 独立模式 独立模式 &#xff1a; 计算机之间相互独立。 &#xff08;2&#xff09;…

数据结构——二叉树链式结构的实现(下)

二叉树找值找为x的结点 找值不简单吗&#xff1f;轻轻松松拿捏&#xff0c;大部分同学都会写出这样的代码 但这种代码有问题&#xff0c;因为没有把查找结果返回给上一层&#xff0c;没有用返回值接收。 当找到3时返回给了上一层&#xff0c;但并没有用返回值接收&#xff0c;…

Rust 生命周期浅谈

1. 简述 Rust 中的每一个引用都有其 生命周期&#xff08;lifetime&#xff09;&#xff0c;也就是引用保持有效的作用域。大部分时候生命周期是隐含并可以推断的&#xff0c;正如大部分时候类型也是可以推断的一样。类似于当因为有多种可能类型的时候必须注明类型&#xff0c;…

大数据面试题(九):Hive的高频面试考点(值得收藏)

文章目录 Hive的高频面试考点 一、Hive中两个大表实现join的操作,简单描述一下

书接上文,助力智能化诊断高质提效,基于轻量级CNN模型MobileNet开发构建人体手骨X光骨骼骨龄分析识别系统

骨龄是骨骼年龄的简称&#xff0c;需要借助于骨骼在X光摄像中的特定图像来确定。通常要拍摄左手手腕部位的X光片&#xff0c;医生通过X光片观察来确定骨龄。这在临床上是一件非常消耗精力和时间的一项放射临床工作。写一个骨龄可能要10多分钟去完成。如果一天要写几十个骨龄&am…

【汇编语言】中断及外部设备操作

【汇编语言】中断及外部设备操作 文章目录 【汇编语言】中断及外部设备操作前言一、中断及其处理中断的概念8086内中断中断处理程序案例&#xff1a;系统中的0号中断中断过程 二、编制中断处理程序中断处理程序及其结构编制中断处理程序——以除法错误中断为例do0子程序应该放在…

基础I/O--文件系统

文章目录 回顾C文件接口初步理解文件理解文件使用和并认识系统调用open概述标记位传参理解返回值 closewriteread总结 文件描述符fd0&1&2理解 回顾C文件接口 C代码&#xff1a; #include<stdio.h> int main() { FILE *fpfopen("log.txt",&…

《MySQL45讲》读书笔记

重建表 alter table t engine InnoDB&#xff08;也就是recreate&#xff09;&#xff0c;而optimize table t 等于recreateanalyze&#xff0c;让表大小变小 重建表的执行流程 建立一个临时文件&#xff0c;扫描表 t 主键的所有数据页&#xff1b;用数据页中表 t 的记录生…

mac通过termius连接Linux服务器

mac上安装 linux系统 如果有 linux服务器账号密码&#xff0c;那么上一步可忽略&#xff1b; 比如&#xff1a;直接连接阿里云或腾讯云账号 1. 安装termius 链接: https://pan.baidu.com/s/1iYsZPZThPizxqtkLPT89-Q?pwdbw6j 提取码: bw6j 官网 Termius - SSH platform for …

【C++】STL — vector的接口讲解 +详细模拟实现

前言: 本章我们将学习STL中另一个重要的类模板vector… vector是表示可变大小数组的序列容器。就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。但是又不像数组&#xff0c;它的大小是可以动态改变的本质讲&#xff0c;vector使用动态分配数组来存储它的元素v…