跟着做的C++20教程-实例32-module

目录

  • 实例概要
  • 实例代码
  • 实例解释
  • Visual Studio的设置

实例概要

介绍C++20模块概念

实例代码

MyModule.ixx

module;
#include "iostream"
export module MyModule;

export void MyFunc()
{
	std::cout << "This is my function" << std::endl;
}

mian.cpp

import MyModule;

int main(int argc, char** argv)
{
	MyFunc();
}

实例解释

  1. .ixx
    C++20之前C++源代码文件只有两种一种是头文件通常命名为XXX.h;另一种是代码文件通常定义为XXX.cpp。而C++20之后多了另一种文件XXX.ixx(只针对Windows平台的cl编译器)。
    .ixx文件为module文件其中定义了模块内容。
  2. module定义
    module定义使用两个关键字exportmodule。如实例中export module MyModule;
  3. module中导出函数
    module导出函数的方法是在函数前面加关键字export。如实例中export void MyFunc()
  4. 在module中引入头文件
    在module中引入头文件需要使用“Global Module Fragment”。方法就是在ixx文件头加上关键字module;。如实例中
module;
#include "iostream"
//...其他头文件
export module MyModule;
  1. 导入模块
    导入模块使用关键在import后面加模块名。之后就可以正常使用模块内导出的函数了。如实例中import MyModule;

Visual Studio的设置

由于module是C++20的新特性,因此需要设置Visual Studio使用的C++版本
跟着做的C++20教程-实例32-module_第1张图片

你可能感兴趣的:(跟着做的C++20教程,c++)