【C++ 20进阶(1):模块导入 import】
原文:https://blog.csdn.net/weixin_44259356/article/details/143270205
引言
本篇文章为系列文章将着重介绍C++20新特性,一是希望可以和大家交流分享,二是也便于自己巩固学习。
1,import
C++ 20引入了对模块的支持,用来替代此前头文件机制,如:
cpp
import <iostream>
此前我们导入导入头文件,纯C为:
c
#include <stdio.h>
C++ 中为:
cpp
#include <iostream>
C++中导入C标准库为:
cpp
#include <cstdio>
模块机制有何好处呢?最大的好处便是可以大大提升编译效率,原来通过引入头文件,预编译过程中将加载此头文件包含的全部内容,include一次便加载一次,哪怕文件相同,而现在只需加载一遍export所定义的模块,将极大地提升预编译速度。
2,export
那么如何定义自己的公共模块呢?我们只需要在一开始声明此模块为export就行,如:
cpp
export module moduleA;
那么如何导出自己想要导出的内容呢?也是导出内容前加export就行,如结构体:
cpp
export struct StructA{
int xx;
};
其他类似,如函数:
cpp
export void f();
后续我将继续分享C++20一些新的有趣的知识点,感兴趣可以点个关注或者私聊,谢谢!