我可以使用模块支持或导入功能来避免包含大量 C++ 标准库头文件吗?

问题描述

如果我在标题中编写一个类并且我想使用 std::is_integral 之类的东西,我需要在标题本身中包含 。这意味着,无论我在哪里使用我的类,我都会包含(我认为是 4000 行)来自 代码及其包含的标题。如果它是一个类,我在我的项目中只包含 5 次,那就是我的项目中要编译的 20,000 行额外代码。如果我错了,请纠正我,但编译器会解析这 20,000 行中的每个字符,而不仅仅是我使用的标头部分(称为函数等)。当我的意思是解析时,我不是说编译,但它至少必须做任何事情来注意代码中的错误。我注意到,当我开始一个新项目时,编译时间非常好,但是在添加一些内容之后,编译时间确实急剧增加,而且我觉得做这样的事情(不必要地编译数千行代码)是这样做的原因。

我尝试了一些解决方法,例如在一种情况下我需要 std::remove_reference,并且为了避免包含 4000 行代码,我只提供了我自己的版本,但在某些情况下你不能。在我需要标准库类或函数的情况下,比如 std::is_integral,我是否绝对必须包含所有标头,或者是否支持仅导入该类/模板? C++ 模块支持这个吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)