本文作者原创,首发在本博客;CSDN 上的同名文章已标注为转载并回链到本页:https://blog.csdn.net/qq_30220519/article/details/143485491
优点
- 编译时间减少:
- 模块消除了重复解析和编译头文件的需要,从而显著减少了编译时间。特别是在大型项目中,这一点尤为重要。
- 更好的封装性:
- 模块允许更严格的封装,可以明确地控制哪些符号对外可见。这有助于减少命名冲突和不必要的依赖。
- 减少命名冲突:
- 模块通过命名空间和模块名称来管理符号,减少了全局命名空间中的命名冲突问题。
- 提高代码可读性和维护性:
- 模块化的代码结构更加清晰,便于理解和维护。每个模块都有明确的职责和接口,使得代码组织更加合理。
- 更好的工具支持:
- 模块化的设计使得 IDE 和其他开发工具可以更好地支持代码导航、重构和分析。
- 减少宏的使用:
- 模块减少了对宏的依赖,因为模块提供了更强大的抽象和封装机制
main.ixx 接口
1 | export module api; |
main.cppm 实现
1 |
|
part1.cppm 分区一
1 | export module api:part1; |
part2.cppm 分区一
1 | export module api:part2; |
main.cpp
1 | import <iostream>; |
输出
hello
1
en
参考
Overview of modules in C++ | Microsoft Learn
C++20 Module 使用指南 - ihnfsa’s blog
C++现代教程六_#include
创作不易,小小的支持一下吧!

