首页 > 编程语言 >c++20模块化编程与传统区别

c++20模块化编程与传统区别

时间:2024-02-03 17:12:52浏览次数:33  
标签:20 模块化 module export c++ cpp import main

传统:main.cpp + a.cpp(存放定义) + a.h(存放声明)
c++20: main.cpp + a.cppm(存放定义,在定义前面写export即可)

模块化编程好处:

  1. 不再需要修改了函数到对应修改声明,两头跑
  2. 编译更快,模块只在修改后才重新编译

模块化编程举例:

// 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";
}

标签:20,模块化,module,export,c++,cpp,import,main
From: https://www.cnblogs.com/Yami-Wa/p/18004956

相关文章

  • [SWPUCTF 2021 新生赛]easy_md5--php弱类型比较
    <?phphighlight_file(__FILE__);include'flag2.php';if(isset($_GET['name'])&&isset($_POST['password'])){$name=$_GET['name'];$password=$_POST['password'];if($name!=......
  • Adobe Photoshop 2024 v25.4 (macOS, Windows) - 照片和设计软件
    AdobePhotoshop2024v25.4(macOS,Windows)-照片和设计软件Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD请......
  • Windows Server 2022 OVF, updated Jan 2024 (sysin) - VMware 虚拟机模板
    WindowsServer2022OVF,updatedJan2024(sysin)-VMware虚拟机模板2024年1月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2022-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现在......
  • Find The MultipleC++
    这题就是找N的倍数m,M要求是由1和0组成且非0。可以用图来看,从1出发临边是1和0,然后广度遍历,第一个能能整除N的数输出就行。#include<iostream>#include<queue>usingnamespacestd;intmain(){intn=-1;while(cin>>n){if(n==0)break;longlon......
  • [SWPUCTF 2021 新生赛]jicao--json_decode()函数
    源码<?phphighlight_file('index.php');include("flag.php");$id=$_POST['id'];$json=json_decode($_GET['json'],true);if($id=="wllmNB"&&$json['x']=="wllm"){echo$flag;}?>......
  • P8338 [AHOI2022] 排列
    建边:\(i\top_i\),这样会形成若干个置换环,每次操作相当于每个点同时走一步。记置换环的数量为\(m\),从\(1\)到\(m\)编号,第\(i\)个置换环的大小是\(s_i\),\(bel_i\)为点\(i\)所属的置换环编号。显然\(f(i,j)=0\)的充要条件是\(i,j\)在同一置换环上,否则\(f(i,j......
  • 代码随想录算法训练营第十一天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复
    20.有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。题目链接:20.有效的括号-力扣(LeetCode)思路:只......
  • 2024牛客寒假算法基础集训营1
    题目链接A.因为判断要素较少,直接条件模拟#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=2e5+10;voidsolve(){intn;cin>>n;strings;cin>>s;intD=0,F=0,S=0,d=0,f=0,ss=0;for(inti=0;i<s.size();i++){......
  • 2022CCPC女生赛-L.彩色的树(线段树合并)
     链接Problem-L-Codeforces以前迷迷糊糊用dsuontree写的题目但是其实没搞明白现在换一种写(太菜了还是没搞明白dsuontree)题意:给你一棵树,询问给定询问的节点上,子树内距离小于等于k的节点不同颜色的种类有多少个。k是固定的值。解法:本题做法为比较板子的线段树合并,......
  • [NOIP2011 提高组] 聪明的质监员
    原题链接首先要读懂题目啊:[Wj>=W]其实是一种bool表达,即大于等于时取1,小于时取0,然后再进行求和。根据要求出最小值大概可以猜测要运用二分,那么我们来判断单调性,首先W在所有矿石的最大最小值之间取值,W越小Y越大,W越大Y越小(观察和推理都很容易得到),那么Y是符合单调性的,即可以运用......