C++ 20 新特性(部分要点)

C++20 的编译器支持

适应新特性的最简单方法是试用它们。那么接下来我们就面临着这个问题:哪些编译器支持 C++20 的哪些特性?一般来说,能提供在核心语言和库方面的答案。

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

 

模块(Modules)

优点

  • 没有头文件
  • 声明实现仍然可分离, 但非必要
  • 可以显式指定那些导出(类, 函数等)
  • 不需要头文件重复引入宏 (include guards)
  • 模块之间名称可以相同不会冲突
  • 模块只处理一次, 编译更快 (头文件每次引入都需要处理)
  • 预处理宏只在模块内有效
  • 模块引入顺序无关紧要
posted @ 2021-12-24 14:50  Clovran-Wong  阅读(212)  评论(0编辑  收藏  举报