优点
没有头文件
声明实现仍然可分离, 但非必要
可以显式指定那些导出(类, 函数等)
不需要头文件重复引入宏 (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 转换为模块
加速构建, 因为 iostream 只会处理一次
和预编译头 (PCH) 具有相似的效果

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2022-02-07
  • 2022-12-23
  • 2021-06-08
  • 2023-03-20
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-22
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-28
相关资源
相似解决方案