NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
## 优点 没有头文件 声明实现仍然可分离, 但非必要 可以显式指定那些导出(类, 函数等) 不需要头文件重复引入宏 (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) 具有相似的效果