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

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);

摆脱丑陋的宏方法。

35d8b660df4874079019e2a79f45de6d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值