C++ 23 将引入标准库模块支持,编译速度提升 10 倍原创
虽然模块是 C++ 20 的主要卖点,但与 C++ 20 不同的是,C++ 23 的标准库也将实现模块化。从标准库开始,模块有望改善编译速度和 C++ 开发者组织代码的方式。
C++ 是丹麦计算机科学家 Bjarne Stroustrup 创建的编程语言,由 ISO 进行标准化。最新的标准版本于 2020 年 12 月由 ISO 批准并发布为 ISO/IEC 14882:2020(我们通常称之为 C++ 20)。C++ 23 是这一编程语言计划中的下一个版本,将于 2023 年发布,该版本将推进对标准库模块的支持和更快的编译。
Bjarne Stroustrup 表示,该语言的升级将包括一个标准库模块,称为 std。有了标准库模块,"Hello World" 就会变成下方示例这样:
import std:
int main()
{
Std::cout<< "Hello, World!\\n";
}
根据 Stroustrup 的说法,这将比使用 #include <iostream> 的旧版本的编译速度快 10 倍。
模块不仅能提高编译速度,还能统一普通函数和模板的源代码组织方式。.h 文件和 .cpp 文件之间的区别消失了,C++ 源代码从根本上得到了简化。最终模块将使开发者组织代码的方式发生巨大的变化。
Stroustrup 还表示,它不希望 C++ 23 像 C++ 11 和 C++ 20 那样成为 C++ 的一个主要升级,相反 C++ 23 应该是 C++ 20 的补充或者完整版,希望能在 C++ 20 的基础上推出一些重要的功能。
Stroustrup 也表达了疫情对他们计划所产生的影响:“很难通过虚拟方式进行良好的设计讨论,缺乏面对面的交流对我们产生了巨大的阻碍。因此,诸如 pattern matching、contracts 等功能将不得不等到 C++ 26。”