C++(20);模块module初识

news/2025/1/11 6:49:55/

C及C++之前一直是通过头文件的方式引入定义于其他文件中的标示符,而引入头文件,从本质上说相当于预处理器将头文件的内容拷贝了一份放入当前文件中,这样做有以下几个缺点:

1.由于拷贝了一份代码,而不是只包含要使用的部分,编译起来比较低效

2.如果在头文件A中引入另一个头文件B,那么其他引入头文件A的地方则自动包含了头文件B

3.引入不同头文件中定义的相同标示符时会产生冲突,无法做到隔离

C++20中引入了模块的概念,可以用更好的方式引入标示符。

1.导出模块

可以通过在cpp文件中export module 模块名;的方式导出一个模块

//ex_test.cpp
module;
#include <iostream>
export module ex_test;using namespace std;export void test1()
{cout<<"this is test1"<<endl;
}export{void test2(){cout<<"this is test2"<<endl;}
};

导出模块中的符号有两种方式,像test1这样直接使用export导出,或者像test2这样将需要导出的符号集中通过一个export进行导出。

2.导入模块

使用import 模块名;进行模块导入


http://www.ppmy.cn/news/703126.html

相关文章

张书博:锂电池储能系统德国新标准VDE 2510-50

第五届储能技术在分布式能源与微电网中应用高层研讨会在深圳顺利召开&#xff0c;来自行业协会、科研院所、知名企业的代表共300人到场参会。会议由中国化学与物理电源行业协会、全国微电网与分布式电源并网标准化技术委员会联合主办。中国化学与物理电源行业协会储能应用分会、…

【通信仿真】基于matlab GUI数字基带通信仿真【含Matlab源码 2510期】

⛄一、数字基带信号波形仿真简介 主要研究了数字信号的基带传输的基本概念及数字信号基带传输的传输过程和如何用MATLAB软件仿真设计数字基带传输系统。本文首先介绍了MATLAB仿真软件。然后介绍了本课题的理论依据&#xff0c;包括数字通信&#xff0c;数字基带传输系统的组成…

GBJ2510-ASEMI整流桥GBJ2510

编辑&#xff1a;ll GBJ2510-ASEMI整流桥GBJ2510 型号&#xff1a;GBJ2510 品牌&#xff1a;ASEMI 封装&#xff1a;GBJ-4 特性&#xff1a;整流扁桥 正向电流&#xff1a;25A 反向耐压&#xff1a;1000V 恢复时间&#xff1a;ns 引脚数量&#xff1a;4 芯片个数&…

一次手机木马的清除记录(手机刷机)

昨天去亲戚家&#xff0c;亲戚有一个手机中了木马&#xff0c;然后本着多管闲事的精神就拿来准备杀杀毒&#xff0c;本来以为现在的病毒直接拿杀毒软件杀一下就可以完全清除&#xff0c;毕竟现在的杀毒软件功能也确实强大。 360手机卫士 使用360手机卫士进行检测与杀毒&#…

iqoo刷鸿蒙教程,IQOO手机如何刷机?IQOO手机卡刷教程

IQOO手机如何刷机?如果手机解锁密码忘记打不开手机了,就可以采用刷机的方式解决,或者我们想升级、降级系统,都需要刷机!接下来的文章中小编介绍的是对iqoo手机进行刷机的方法,感兴趣的朋友可以阅读本文了解一下。 IQOO手机卡刷教程 一、刷固件前建议您可以先清除手机中所…

小米手机的刷机经验教训

背景&#xff1a;由于我的小米8屏幕指纹版升级了MIUI11和Android10系统&#xff0c;手机感觉变得卡顿&#xff0c;打开应用有时卡死&#xff0c;所以想刷机回到MIUI10和Android9。 首先要备份手机里的信息数据&#xff0c;然后再申请解锁&#xff1a; http://www.miui.com/un…

mac版本的xshell远程ssh工具

官网下载地址&#xff1a; https://www.royalapps.com/ts/win/download 注意&#xff1a;一定要保存(下载安装之后记得一定要点击&#xff1a;Apply & Close&#xff0c;保存设置) 使用

手机禁止安装app,刷机才能恢复

手机禁止安装app&#xff0c;刷机才能恢复 让智能手机安装了必要的app之后&#xff0c;永远禁止安装其他任何app&#xff0c;只有通过刷机才能恢复回来&#xff0c;这个需求对于学生来说很有必要。 比如&#xff1a;安装必要的学习软件&#xff0c;微信&#xff0c;地图导航等等…