C++20(C++ 编程语言标准2020版)将是C++ 语言一次非常重大的更新,将为这门语言引入大量新特性。c++20标准文档是官方目前最新文件,更新2020年。需要的朋友可下载试试!

此次更新看 C++20 的 Big Four(四大新特性:概念、范围、协程和模块)以及核心语言(包括一些新的运算符和指示符)。

全新的 GCC、Clang 和 EDG 编译器能提供对核心语言的最佳支持。此外,MSVC 和 Apple Clang 编译器也支持许多 C++20 特性。

C++20 核心语言特征。

库方面的情况类似。GCC 在库方面的支持最好,接下来是 Clang 和 MSVC 编译器。

C++20 库特征。

上面的截图仅展示了对应表格的前面一部分,可以看出这些编译器的表现并不是非常令人满意。即使你使用的是全新的编译器,这些编译器仍然不支持很多新特性

四大新特性

概念(concept)

使用模板进行通用编程的关键思想是定义能通过各种类型(type)使用的函数和类。但是,在实例化模板时经常会出现用错类型的问题,其结果通常是几页难懂的报错信息。

现在概念来了,这个问题可以休矣。概念让你能为模板编写要求,而编译器则可以检查这个要求。概念革新了我们思考和编写通用代码的方式。

范围库(Ranges Library)

范围库是概念的首个客户。它支持的算法满足以下条件:

可以直接在容器上操作;无需迭代器指定一个范围;

可以宽松地评估;

可以组合。

简单来说:范围库支持函数模式(functional patterns)。

协程(Coroutines)

协程是广义的函数,能在保持状态的同时暂停或继续。协程通常用来编写事件驱动型应用。事件驱动型应用可以是模拟、游戏、服务器、用户接口或算法。协程也通常被用于协作式多任务(cooperative multitasking)。

我们这里不介绍 C++20 的具体协程,而会介绍编写协程的框架。编写协程的框架由 20 多个函数构成,其中一部分需要你去实现,另一部分则可能需要重写。因此,你可以根据需求调整协程。

模块(Module)

模块部分简单介绍一下就好。模块承诺能够实现:

更快的编译时间;

宏的隔离;

表达代码的逻辑结构;

不必再使用头文件(header file);

摆脱丑陋的宏方法。

c语言最新标准c22,C++20标准(c++标准手册) 官方最新版PDF相关推荐

  1. 怎样用c语言写高速超速罚款标准,超速罚款 超速扣分标准2020新交规怎么规定的...

    高速驾驶确实可以带来速度的乐趣,但是这种行为违背了交通规则,而是超速行为. 那超速呢? 超速驾驶的惩罚是什么? 让我们来看看新的2020年超速处罚标准! 一.超速扣分标准新交规 机动车在道路上行驶,违 ...

  2. Clion 2020.2 使用 C++20 等C++标准 编程

    Clion 2020.2 使用 C++20 等C++标准 编程 我的小站.Github.CSDN 操作步骤: 新建工程 在新项目向导的语言标准字段中选择 C++ 20 已有工程 在 CMakeList ...

  3. 就拿胖子说事:成年男性的标准体重公式为:标准体重(kg)=身高(cm)-100,超标准20%为超重,比标准体重轻20%为超清。输出标准体重,

    /* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作 者:李飞 *完成日期:2016年 3月 17日 *版 ...

  4. 飛飛(五)就拿胖子说事:成年男性的标准体重公式为:标准体重(kg)=身高(cm)-100,超标准20%为超重,比标准体重轻20%为超清。

    <img src="https://img-blog.csdn.net/20160318124039339?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkb ...

  5. 非法获取计算机网络数据罪,最新非法获取计算机系统数据罪量刑标准

    一.最新非法获取计算机系统数据罪量刑标准 根据<中华人民共和国刑法>第二百八十五条规定,非法获取计算机信息系统数据.非法控制计算机信息系统罪,是指违反国家规定,侵入国家事务.国防建设.尖端 ...

  6. 普通话测试第四题评分标准_普通话水平测试评分标准(新版)

    原标题:普通话水平测试评分标准(新版) 普通话测试试卷包括四个部分: 普通话水平测试试卷由四个测试项构成,总分为100分. ⑴.读单音节字词100个,限时3分30秒,占10分.目的考查应试人普通话声母 ...

  7. 欧洲共同语言参考标准等级C1,欧洲共同语言参考标准与中国英语课程标准分级目标的对比...

    摘 要:<欧洲语言教学与评估框架性共同标准>是欧盟根据外语教学现状与发展条件出台的语言学参考标准;中国英语课程标准是国家课程的基本纲领性文件,是国家对于基础教育英语课程的基本规范和要求;本 ...

  8. 内控体系建设五步骤_进一步完善环境保护标准体系建设 ——《国家环境保护标准“十三五”发展规划》解读...

    ◆中国环境报记者郭薇 为进一步完善环境保护标准体系,充分发挥标准对改善环境质量.防范环境风险的积极作用,在充分总结"十二五"环境保护标准工作基础上,环境保护部近日印发了<国家 ...

  9. C++标准库分析总结(一)——<标准库简介>

    目录 1 你应该具备的基础 1.1 你应该具备的基础 1.2 我们的目标 2 标准库介绍 2.1 C++标准库与C++标准模板库二者关系及表现形式 2.2 STL六大部件 2.3 STL的简单使用 2 ...

  10. 团体标准申报的制定程序和标准是什么

    什么是团体标准? 团体标准是依法成立的社会团体为满足市场和创新需要,按照团体确立的标准制定程序,自主制定发布,并由社会自愿采用的标准.团体标准由国务院标准化行政主管部门统一管理. 市场主导:市场主体自 ...

最新文章

  1. android上传图片崩溃,导致安卓手机死机的照片拍摄者表示这张照片是无意之举...
  2. 利用计算机技术教学图片,教育教学论文 科学学科如何利用计算机技术提高教学效率.doc...
  3. 禅道项目管理软件的命令行入口
  4. 吴恩达机器学习Week4神经网络表述
  5. android中暂停服务,Android暂停服务,线程,Asynctask?使用postdelayed的处理程序呢?...
  6. 数据中心基础设施:建设与设计
  7. Shiro在SpringBoot中的应用
  8. C++STL理论基础
  9. vue项目中开启Eslint碰到的一些问题及其规范
  10. China Daily | 技术不是拦路虎:在线音乐教学可完美还原线下场景
  11. java.lang.IllegalArgumentException: requirement failed: No output operations registered, so nothing
  12. python的基本原理_Python函数基本使用原理详解
  13. mysql 时间 1_(转)mysql日期时间函数1
  14. yum 来安装 nodejs
  15. Python网络请求库Requests,妈妈再也不会担心我的网络请求了(二)
  16. 苹果挖迪士尼墙脚:喜获视频服务总监
  17. C++基础::typeid、type_info
  18. 企业运营管理体系是什么?
  19. AI识别彻底懵逼!这到底是「牛」还是「鲨」?
  20. 网页连接服务器失败是怎么回事,网页怎么连接服务器失败是怎么回事

热门文章

  1. python爬虫简历项目怎么写_爬虫项目咋写,爬取什么样的数据可以作为项目写在简历上?...
  2. PLC编程的5种专用语言 ,学习PLC编程得先了解一下!
  3. python官方文档(自翻译)
  4. python控制电机转动_Micropython TurnipBit 旋转按钮控制直流电机转速(儿时记忆中的吊扇)...
  5. mac的word中添加带圆圈的数字
  6. SI4438可变长包数据收发
  7. 进程调度时间片轮转c语言,时间片轮转调度算法的C语言模拟实现
  8. FreeRTOS-时间片轮转调度
  9. Java应用在docker环境配置容器健康检查
  10. c语言的标识符必须以字母或下划线开头,大一C语言选择题及答案