模块 (C++20 起)

来自cppreference.com
< cpp‎ | language

模块有助于将大量代码分拆为各个逻辑部分。

模块与命名空间是正交的。

语法

export(可选) module 模块名 模块划分(可选) 属性说明符序列(可选) ; (1)
export 声明 (2)
export { 声明序列(可选) } (3)
export(可选) import 模块名 属性说明符序列(可选) ; (4)
export(可选) import 模块划分 属性说明符序列(可选) ; (5)
export(可选) import 头文件名 属性说明符序列(可选) ; (6)
module ; (7)
module : private ; (8)
1) 模块声明。声明当前翻译单元为模块单元
2,3) 导出声明。导出 声明声明序列 中的所有命名空间作用域声明。
4,5,6) 导入声明。导入一个模块单元/模块划分/头文件单元。
7) 开始一个全局模块片段
8) 开始一个私有模块片段