【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++常用的关键字。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙内核源码分析(汇编传参篇) | 如何传递复杂的参数

汇编如何传复杂的参数? 汇编基础篇 中很详细的介绍了一段具有代表性很经典的汇编代码&#xff0c;有循环&#xff0c;有判断&#xff0c;有运算&#xff0c;有多级函数调用。但有一个问题没有涉及&#xff0c;就是很复杂的参数如何处理? 在实际开发过程中函数参数往往是很复…

小程序账号设置以及request请求的封装

一般开发在小程序时&#xff0c;都会有测试版和正式版&#xff0c;这样在开发时会比较方便。 在开发时。产品经理都会给到测试账号和正式账号&#xff0c;后端给的接口也都会有测试环境用到的接口和正式环境用到的接口。 这里讲一讲我这边如何去做的。 1.在更目录随便命名一…

吴恩达2022机器学习专项课程(一)正则化(正则化成本函数正则化线性回归正则化逻辑回归)

目录 一.正则化1.1 正则化的好处1.2 正则化的实现方式 二.正则化改进线性回归的成本函数2.1 正则化后的成本函数的意义2.2 λ参数的作用2.3 不同λ对算法的影响2.4 为什么参数b没有正则化项 三.正则化线性回归的梯度下降3.1 为什么正则化可以在梯度下降迭代中减小w3.2 导数的计…

如何在Mac上恢复格式化硬盘的数据?

“嗨&#xff0c;我格式化了我的一个Mac硬盘&#xff0c;而没有使用Time Machine备份数据。这个硬盘被未知病毒感染了&#xff0c;所以我把它格式化为出厂设置。但是&#xff0c;我忘了备份我的文件。现在&#xff0c;我想恢复格式化的硬盘驱动器并恢复我的文档&#xff0c;您能…

面试算法题精讲:最长公共子串

面试算法题精讲&#xff1a;最长公共子串 最长公共子串问题是指给定两个字符串S1和S2&#xff0c;求它们的公共子串中最长的那一个。其实就是求两个字符串的最长重复子串。 最朴素的算法就是枚举S1和S2的每一对子串&#xff0c;然后判断它们是否相等&#xff0c;时间复杂度是…

手搓堆(C语言)

Heap.h #pragma once#include <stdio.h> #include <stdlib.h> #include <assert.h> #include <stdbool.h> #include <string.h> typedef int HPDataType; typedef struct Heap {HPDataType* a;int size;int capacity; }Heap;//初始化 void Heap…

Java Jackson-jr 库是干什么用的

Jackson-jr 是一个轻量级的Java JSON 处理库。这个库被设计用来替代 Jackson 的复杂性。对比 Jackson 的复杂 API&#xff0c;Jackson-jr 的启动速度更快&#xff0c;包大小更小。 虽然Jackson databind&#xff08;如ObjectMapper&#xff09;是通用数据绑定的良好选择&#…

如何从Mac电脑恢复任何删除的视频

Microsoft Office是包括Mac用户在内的人们在世界各地创建文档时使用的最佳软件之一。该软件允许您创建任何类型的文件&#xff0c;如演示文稿、帐户文件和书面文件。您可以使用 MS Office 来完成。所有Microsoft文档都可以在Mac上使用。大多数情况下&#xff0c;您处理文档&…

苹果CEO对未来一代人工智能投资持乐观态度

尽管在动荡的第二季度&#xff0c;苹果的收入和iPhone销量有所下降&#xff0c;但其新兴的人工智能技术可能会带来急需的提振。 在5月2日的电话财报会议上&#xff0c;苹果公布季度收入为908亿美元&#xff0c;比去年下降4%。iPhone的收入也下降了10%&#xff0c;至460亿美元。…

《Python编程从入门到实践》day19

#昨日知识点回顾 使用unittest模块测试单元和类 #今日知识点学习 第12章 武装飞船 12.1 规划项目 游戏《外星人入侵》 12.2 安装pygame 终端管理器执行 pip install pygame 12.3 开始游戏项目 12.3.1 创建Pygame窗口及响应用户输入 import sysimport pygameclass…

SpringCloud微服务项目创建流程

为了模拟微服务场景&#xff0c;学习中为了方便&#xff0c;先创建一个父工程&#xff0c;后续的工程都以这个工程为准&#xff0c;实用maven聚合和继承&#xff0c;统一管理子工程的版本和配置。 后续使用中只需要只有配置和版本需要自己规定之外没有其它区别。 微服务中分为…

电脑数据怎么拷贝到u盘?操作指南与数据丢失防范

在数字时代&#xff0c;数据的传输与备份已成为我们日常生活和工作中不可或缺的一部分。U盘作为一种便捷、高效的移动存储设备&#xff0c;广泛应用于各种数据拷贝场景。无论是个人文件的备份&#xff0c;还是工作资料的传输&#xff0c;U盘都发挥着举足轻重的作用。那么&#…

【刷题(1)】链表

一、链表问题基础 移动:head=head.next 移动到最后:head.next=null 停止:if not xx: 相当于if not null: 取值:a.val 赋值:b.next=a 遍历:while head: head=head.next 或者: if not head: head=head.next 递归:单链表: def func(pre,cur): return func(pre.next,cur.…

Windows安装Ubuntu24详细教程

从官网下载ISO镜像&#xff1a; 使用VMWare创建新的虚拟机&#xff1a; 选择刚才下载的ISO镜像&#xff1a; 填写账号和密码&#xff1a; 选择安装位置和虚拟机名称&#xff0c;因为我装这个主要是为了QT开发的&#xff0c;所以名字叫ubuntu24_for_qt&#xff1a; 处理…

基于大爆炸优化算法的PID控制器参数寻优matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于大爆炸优化算法的PID控制器参数寻优matlab仿真。对比优化前后的PID控制输出。 2.系统仿真结果 3.核心程序与模型 版本&#xff1a;MATLAB2022a .....................…

前端 JS 异常那些事

前言 人无完人&#xff0c;所以代码总会出异常的&#xff0c;异常并不可怕&#xff0c;关键是怎么处理 什么是异常 程序发生了意想不到的情况&#xff0c;影响到了程序的正确运行 从根本上来说&#xff0c;异常就是一个普通的对象&#xff0c;其保存了异常发生的相关信息&a…

通过符号程序搜索提升prompt工程

原文地址&#xff1a;supercharging-prompt-engineering-via-symbolic-program-search 通过自动探索​​大量提示变体来找到更好的提示 2024 年 4 月 22 日 众所周知&#xff0c;LLMs的成功在很大程度上仍然取决于我们用正确的指导和例子来提示他们的能力。随着新一代LLMs变得越…

django搭建一个AI博客进行YouTube视频自动生成文字博客

文章目录 一、生成Django框架二、项目代码&#xff08;前端&#xff09;1、编写前端代码&#xff08;正文界面&#xff09;1.1、生产html框架1.2、添加live preview扩展1.3、更改title元素中文本1.4、添加CDN&#xff08;CSS&#xff09;样式链接1.5、nav标签1.6、在body标签中…

021、Python+fastapi,第一个Python项目走向第21步:ubuntu 24.04 docker 安装mysql8、redis(二)

系列文章目录 pythonvue3fastapiai 学习_浪淘沙jkp的博客-CSDN博客https://blog.csdn.net/jiangkp/category_12623996.html 前言 安装redis 我会以三种方式安装&#xff0c; 第一、直接最简单安装&#xff0c;适用于测试环境玩玩 第二、conf配置安装 第三、集群环境安装 一…

Flutter笔记:Widgets Easier组件库(9)使用弹窗

Flutter笔记 Widgets Easier组件库&#xff08;9&#xff09;&#xff1a;使用弹窗 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress o…