🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 优点 没有头文件 声明实现仍然可分离, 但非必要 可以显式指定那些导出(类, 函数等) 不需要头文件重复引入宏 (include guards) 模块之间名称可以相同不会冲突 模块只处理一次, 编译更快 (头文件每次引入都需要处理) 预处理宏只在模块内有效 模块引入顺序无关紧要 创建模块 ``` // cppcon.cpp export module cppcon; namespace CppCon { auto GetWelcomeHelper() { return "Welcome to CppCon 2019!"; } export auto GetWelcome() { return GetWelcomeHelper();} } 引用模块 // main.cpp import cppcon; int main(){ std::cout << CppCon::GetWelcome(); } ``` import 头文件 import 隐式地将 iostream 转换为模块 加速构建, 因为 iostream 只会处理一次 和预编译头 (PCH) 具有相似的效果