ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 优点 没有头文件 声明实现仍然可分离, 但非必要 可以显式指定那些导出(类, 函数等) 不需要头文件重复引入宏 (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) 具有相似的效果