C++关键字总结

1.数据类型

        bool:布尔类型,属于基本类型的整数类型,取值为真和假

       true:具有布尔类型的字面量,表示真

       false:具有布尔类型的字面量,表示假

       char:表示字符型,定义了字节的大小,char表示单字节字符

       wchar_t:表示宽字符型,表示多字节字符

       int:整型数

       double:双精度浮点数,精度不小于float

       float:浮点数

       short:

       long:long double表示精度不小于double的浮点数

       signed:前缀修饰整数类型,有符号,不可修饰wchar_t,char16_t,char32_t

       unsigned:前缀修饰整数类型,无符号

       explicit:避免自定义类型隐式转换成类类型

       auto:根据初始值自动推断变量的数据类型,不是每个编译器都支持auto

2.语句相关

        switch:分支语句的起始

       case:case标号

       default:默认分支

       do,for,while:循环语句的组成部分

       if ,else:条件语句的组成;if 表示条件,之后else的表示否定分支

       break:跳出for,while循环或switch语句

       continue:调到一个循环的起始位置

       goto:用于无条件跳转到函数内的标号处,一般不建议了,风险大

3.定义,初始化相关

        const:类型修饰符,用于变量或函数参数声明,表示只读类型(指定类型安全性,保护对象不被意外修改)

       volatile:指定被修饰的对象类型的读操作是副作用(读取不能随便优化合并,适合映射I/O寄存器)a 当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中,以后再取变量值时,就直接从寄存器中取值 b 优化器在用到volatile变量时必须每次都小心地重新读取这个变量的值,而不是使用保存到寄存器的备份 c volatile适用于多线程应用中呗几个任务共享的变量

       enum:构成枚举类型名的关键字

       export:使用该关键字可实现模板函数的外部调用。对模板类型,可以在头文件中声明模板类和模板函数。在代码文件中,使用关键字export来定义具体的模板类对象和模板函数,然后再其他用户代码为念中,包含声明头为念后,就可以使用这些对象和函数

       extern:当出现extern "C"时,表示extern "C"之后的代码按照c语言的规则去编译;当extern修饰变量或函数时,表示其具有外部链接属性,即其既可以再本模块中使用也可以在其他模块中使用

       public:权限修饰符。public表示公有的,访问不受限制;

       protected:保护的,只能在本类和友元中访问;

       private:私有的,只能在本类,派生类和友元中访问;

       template:声明一个模板,模板函数,模板类,模板的特化;

       static:可修饰变量(静态全局变量,静态局部变量),也可以修饰函数和类中的成员函数。static修饰的变量的周期为整个函数的声明周期。具有静态生存期的变量,只有在函数第一次调用时,进行初始化,在没有显示初始化的情况下,系统把他们初始化为0;

       class:一般的类声明

       struct:用于类型声明,struct在c++中是特殊的类类型,声明中仅默认隐式的成员和基类访问限定与class不同(struct是public,class是private)。

       union:是联合体类型,满足特定条件类型

       POD(Plain Old Data)plain普通类型old 与c语言兼容 

       POD struct或POD union可以和C语言中的 struct和union兼容

       mutable:突破const的限制,mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。

       virtual:声明虚基类,虚函数。虚函数=0时,则为纯虚函数,纯虚函数所在的类称为抽象类;

4.系统操作相关

        catch,throw, try:用于异常处理;try指定try块的起始,try块后的catch可以捕获异常,异常由throw抛出。throw在函数中还表示动态异常规范

       new,delete:属于操作符,可以被重载;new表示向内存申请一段新的空间,申请失败会抛出异常。new会调用operator new函数,再在operator new函数里调用malloc函数分配空间,然后在调构造函数。delete不仅会清理资源,还会释放空间。delete会调用析构函数,其次调用operator delete函数,最后在operator delete函数里面调用free函数。malloc申请内存失败后会返回空。free只是清理了资源,没有释放空间。

       friend:友元,使其不受访问权限控制的限制。例如,在1个类中,私有变量外部是不能直接访问的,假如另外1个类或函数要访问本类的1个私有变量时,可以吧这个函数或类声明为本类的友元函数或友元类,这样他们就可以直接访问本类的私有变量。

       inline:内联函数,在编译时将所调用的函数代码直接嵌入到主调函数中。各个编译器的实现方式可能不同。

       operator:和操作符连用,指定一个重载了的操作符函数。比如,operator+

       register:提示编译器尽可能的吧变量存入到cpu内部寄存器中。‘

typename:typename关键字告诉编译器把一个特殊的名字解释为一个类型。

5.命名相关

(1)在当前文件引入命名空间,using namespace std;(2)在子类中使用,using声明引入基类成员名称。

       namespace:c++标准程序库中的所有标识符都被定义于一个名为std的namespace中,命名空间除了系统定义的名字空间之外,还可以自己定义,定义命名空间用关键字“namespace”,使用命名空间时用符号“::”指定。

       typedef:为现有数据类型创建一个新的名字,便于程序的阅读和编写。

6.函数和返回值相关

       void:"空"类型,指定函数无返回值或无参数

       return:表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值。

       sizeof:返回类型名或表达式具有的类型对应的大小’

       typeid:操作符,返回类型为标准库中类型的引用

7.其他

        this:每个类成员函数都隐含了一个this指针,用来指向类本身。this指针一般可以省略,但在赋值运算符重载的时候要显示使用。静态成员函数没有this指针。


       asm:_asm是一个语句的分隔符,不能单独出现,必须接汇编指令,一组被大括号包含的指令或一对空括号。

也可以在每个汇编指令前加_asm

*_cast:const_cast,dynamic_cast,reinterpret_cast,static_cast

const_cast:删除const变量的属性,方便赋值;

dynamic_cast:用于将一个父类对象的指针转换为子类对象的指针或引用;

reinterpret_cast:将一种类型转换为另一种不同的类型;

static_cast:用于静态转换,任何转换都可可以用它,但他不能用于两个不相关的类型转换。

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

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

相关文章

蛇形矩阵(xmuoj)

描述 输入两个整数n和m,输出一个n行m列的矩阵,将数字11到nm按照回字蛇形填充至矩阵中。 具体矩阵形式可参考样例。 输入 输入共一行,包含两个整数n和m。 输出 输出满足要求的矩阵。 矩阵占n行,每行包含m个空格隔开的整数。…

TMGM:ASIC撤销禁令,TMGM强化合规、重启差价合约服务

TMGM作为差价合约(CFDs)与保证金外汇交易领域的领航者,安全、合规、高效被奉为我集团的终身使命。澳大利亚证券和投资委员会(ASIC)已正式撤销了早前针对TMGM差价合约业务实施的临时止损令。这一误会的解除,…

降低IT运营成本,提升客户体验 |LinkSLA亮相第十届CDIE

6月25-26日,中国数字化创新博览会(CDIE 2024)在上海张江科学会堂举行。本届展览主题为“AI创新,引领商业增长新格局”,旨在交流企业在数字化时代,如何以科技为驱动,在转型中如何把握机遇&#x…

Springboot + Mybatis-Plus代码生成指南

使用 Spring Boot 和 MyBatis-Plus 生成代码&#xff0c;可以大大简化开发流程&#xff0c;可以保持编码的规范性&#xff0c;生成单元测试等。以下是详细步骤&#xff1a; 配置pom.xml <dependency><groupId>com.baomidou</groupId><artifactId>myb…

【D3.js in Action 3 精译】推荐序

作为一名自由职业的数据可视化教育从业人员、咨询顾问和设计师&#xff0c;我从 2000 年代末开始就深深沉浸在数据可视化的各个角落&#xff0c;有幸坐到前排亲眼目睹了巨大的产业变革。数据可视化的技术格局一直在推陈出新。从行业工具的发展演变&#xff0c;到触达受众的可视…

如何利用静力水准仪进行地形沉降测量

地形沉降测量在建筑工程和地质研究中起着至关重要的作用。准确的地形沉降测量可以帮助工程师预测和预防潜在的地基问题&#xff0c;从而保障建筑物的安全和稳定。本文将详细介绍如何利用静力水准仪进行地形沉降测量&#xff0c;并探讨其在实际应用中的优势。 静力水准仪的基本原…

关于数字化营销中做好拓新裂变活动的策划探讨

一、引言 在当今数字化时代&#xff0c;企业面临着日益激烈的市场竞争和不断变化的消费者需求。数字化营销作为一种高效的营销方式&#xff0c;能够以较低的成本触达更广泛的目标受众。而拓新裂变活动则是数字化营销中的关键环节&#xff0c;对于企业快速扩大用户群体、提升品…

购物商城系统

摘要 随着互联网的快速发展&#xff0c;网上购物已经成为人们日常生活中不可或缺的一部分。越来越多的消费者选择在网上购物&#xff0c;享受随时随地的便利和丰富多样的商品选择。然而&#xff0c;随着网上购物用户数量的不断增加&#xff0c;传统的线下商店已经无法满足用户…

国家地表水水质自动监测数据(整理版)

国家地表水水质自动检测实时数据发布系统&#xff0c;发布的数据。含省份、城市、河流、流域、断面名称、监测时间、水温、pH、DO、CODMn、TP、TN、NH3-N、浊度等。 数据介绍&#xff1a; 2014年4月-2020年11月每月60-140个左右的站点有数据&#xff0c;从2020年11月开始&#…

MHA、MMM高可用方案及故障切换

目录 一、MHA高可用方案 1、MHA的组成 2、MHA的工作原理 3、部署MHA架构 第一部分&#xff1a;一主两从数据库架构部署 1、全部更改主机名、初始化操作、开启mysql服务、设置主机名管理、时间同步 2、MySQL服务器做主从复制 3、测试主从效果 第二部分&#xff1a;MHA架…

MySQL建表时的注意事项

以下是我对MySQL建表时的注意事项。其实&#xff0c;建表事项有很多&#xff0c;我的总结如下&#xff1a; 1 存储引擎的选择&#xff0c;一般做开发&#xff0c;都是要支持事务的&#xff0c;所以选择InnoDB 2 对字段类型的选择&#xff1a; ​ 对于日期类型如果要记录时分…

VS Code SSH 远程连接服务器及坑点解决

1,设置密钥参考VS Code SSH 远程连接服务器及坑点解决_vscode-cli-611f9bfce64f25108829dd295f54a6894e87339-CSDN博客 2, 远程服务器需要下载 sudo apt-get install wget sudo apt-get install curl 3,代理设置 https://bobbyhadz.com/blog/error-while-fetching-extensi…

PyTorch nn.MSELoss() 均方误差损失函数详解和要点提醒

文章目录 nn.MSELoss() 均方误差损失函数参数数学公式元素版本 要点附录 参考链接 nn.MSELoss() 均方误差损失函数 torch.nn.MSELoss(size_averageNone, reduceNone, reductionmean) Creates a criterion that measures the mean squared error (squared L2 norm) between each…

Python25 Numpy基础

1.什么是Numpy NumPy&#xff08;Numerical Python 的简称&#xff09;是 Python 语言的一个扩展程序库&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;此外也针对数组运算提供大量的数学函数库。NumPy 的前身是 Numeric&#xff0c;这是一个由 Jim Hugunin 等人开发的…

SAP ALV 负号提前

FUNCTION CONVERSION_EXIT_ZSIGN_OUTPUT. *"---------------------------------------------------------------------- *"*"本地接口&#xff1a; *" IMPORTING *" REFERENCE(INPUT) *" EXPORTING *" REFERENCE(OUTPUT) *"…

PNAS|这样也可以?拿别人数据发自己Paper?速围观!

还在为数据量小&#xff0c;说服力不足发愁&#xff1f; 想研究脱颖而出、眼前一亮&#xff1f; 想从更高层次的探索微生物的奥秘&#xff0c;发出一篇好文章&#xff1f; 近期&#xff0c;有一篇发表在PNAS(IF11.1)的文章“Deforestation impacts soil biodiversity and ecos…

量子计算与AI融合:IBM引领未来计算新纪元

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

docker-本地部署-后端

前置条件 后端文件 这边是一个简单项目的后端文件目录 docker服务 镜像文件打包 #命令行 docker build -t author/chatgpt-ai-app:1.0 -f ./Dockerfile .红框是docker所在文件夹 author&#xff1a;docker用户名chatgpt-ai-app&#xff1a;打包的镜像文件名字:1.0 &#…

YOLOv10改进 | 卷积模块 | 将Conv替换为轻量化的GSConv【轻量又涨点】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录&#xff1a;《YOLOv8改进有效…

Spring Boot中如何集成ElasticSearch进行全文搜索

Spring Boot中如何集成ElasticSearch进行全文搜索 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我们将探讨如何在Spring Boot应用中集成Elas…