c++ - 头文件导入模块是标准的吗?

C++ 20 模块保证向后兼容,因此模块可以导入标头。

Visual Studio 引入了 https://docs.microsoft.com/en-us/cpp/cpp/modules-cpp?view=msvc-170#modules-and-header-files,这是标准还是 VS 的东西?

// MyProgram.h
import std.core;
#ifdef DEBUG_LOGGING
import std.filesystem;
#endif

回答1

#include 是一个预处理器指令,它对目标文件中的文本进行文本复制和粘贴。模块并没有改变这一点。文本复制和粘贴 import 指令仍然是文本复制和粘贴。

所以是的,这是标准的。假设您的编译器正确实现了它们。

话虽如此,拥有标头 import 的东西可能不是一个好主意。如果您想构建系统中各种文件使用的 import 集合,只需构建一个适当命名的模块并获得模块构建系统的好处。 export import 模块是可以的。

相似文章

c++ - 所有尖括号的名称是什么?

在C++中,我们在不同的地方有尖括号,我认为有时在与其他开发人员交谈时区分它们很重要,例如在暴徒编程期间导航某人时(例如“转到第36行中的箭头运算符”或“现在写宇宙飞船运算符”)。虽然我当然可以称它们...

随机推荐

最新文章