跟着做的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++版本
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部