• C++20新特性一:模块Module


    优点
    没有头文件
    声明实现仍然可分离, 但非必要
    可以显式指定那些导出(类, 函数等)
    不需要头文件重复引入宏 (include guards)
    模块之间名称可以相同不会冲突
    模块只处理一次, 编译更快 (头文件每次引入都需要处理)
    预处理宏只在模块内有效
    模块引入顺序无关紧要

    创建模块
    // cppcon.cpp
    export module cppcon;
    namespace CppCon {
    auto GetWelcomeHelper() { return "Welcome to CppCon 2019!"; }
    export auto GetWelcome() { return GetWelcomeHelper();}
    }
    引用模块
    // main.cpp
    import cppcon;
    int main(){
    std::cout << CppCon::GetWelcome();
    }
    import 头文件
    import <iostream>
    隐式地将 iostream 转换为模块
    加速构建, 因为 iostream 只会处理一次
    和预编译头 (PCH) 具有相似的效果

  • 相关阅读:
    skill:极角排序
    skill:树的重心
    [CF1091F](New Year and the Mallard Expedition)
    2018九省联考(SHOI2018)
    陷入僵局?
    2333
    雨后天晴
    听说我首次抢到食堂最早的馄饨
    难题做不动
    成绩出来了?
  • 原文地址:https://www.cnblogs.com/guxuanqing/p/14682712.html
Copyright © 2020-2023  润新知