c++20模块化编程与传统区别
传统:main.cpp + a.cpp(存放定义) + a.h(存放声明)
c++20: main.cpp + a.cppm(存放定义,在定义前面写export即可)
模块化编程好处:
- 不再需要修改了函数到对应修改声明,两头跑
- 编译更快,模块只在修改后才重新编译
模块化编程举例:
// my_module.cppm
import <iostream>;
export module my_module; // export module + module_name(没有<>或"")
export void HelloBlu() {
std::cout << "hello blu from my module!\n";
}
export int BluAge = 23;
// main.cpp
import<iostream>;
import my_module; // import module name(没有<>或"")
int main() {
HelloBlu();
std::cout << "blu's age is " << BluAge << "\n";
}