头文件 / 模块 / 编程语言 · 2023年 10月 10日 0

模块

105 次浏览

提到模块,它是一个概念很广的名词,在编程语言世界中,用它可代表一个独立的编程语言源代码或者其他形式的存在,可用于其他模块或者主程序使用。

  • C++20引入模块是由于之前的大型工程C++头文件实在太多,编译起来耗时,修改简单的一个宏定义,造成大规模头文件的重编译,呜呼哀哉。
    • 可通过import <string>导入字符串模块,export module student导出学生类。
    • 模块和C/C++头文件/源代码形式类似,一个是接口文件,一个是实现文件。
    • 模块的导入让C++更有效率,不愧是Modern编程语言。
  • Java/C#/Python有好用的包、程序集或者引用库,C++的模块和它们的作用类似。

不同编程语言导入模块

  • Python 可使用import xxx或from xxx import yyy导入模块或函数
    • import xxx
    • import xxx as X
      • 使用xxx内部的类yyy,必须用xxxX前缀,如xxx.yyyX.yyy
    • from xxx import yyy
    • from xxx import yyy as Y
    • from xxx import *
      • 使用yyy内部的类zzz,不用yyyY前缀