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)应用的函数和类。可是,在实例化模板时常常会出現用错种类的难题,其結果一般是两页晦涩难懂的出错信息内容。
如今概念来啦,这个问题能够休矣。概念让你能为模板编写规定,而c语言编译器则能够查验这一规定。概念创新了人们思索和编写通用性编码的方法。
范畴库(RangesLibrary)
范畴库是概念的首例顾客。它适用的优化算法考虑下列标准:
能够立即在器皿上实际操作;不用迭代器特定一个范畴;
能够比较宽松地评定;
能够组成。
简易而言:范畴库适用函数方式(functionalpatterns)。
协程(Coroutines)
协程是理论的函数,能在维持情况的另外中止或再次。协程一般用于编写事件驱动型运用。事件驱动型运用能够是仿真模拟、手机游戏、网络服务器、客户插口或优化算法。协程也一般被用以合作式任务管理(cooperativemultitasking)。
人们这儿不详细介绍C++20的实际协程,而会详细介绍编写协程的架构。编写协程的架构由20好几个函数组成,在其中一部分想要你去完成,另一部分则将会必须重新写过。因而,你能依据要求调节协程。
控制模块(Module)
控制模块一部分简易介绍一下就行。控制模块服务承诺可以完成:
迅速的编译器時间;
宏的防护;
表述编码的逻辑结构;
无须再应用头文件(headerfile);
解决丑恶的宏方式 。