模块会成为C ++ 20的一部分吗?它会减少库的编译时间吗?

时间:2018-07-09 06:10:50

标签: c++ build compilation c++20

嗨,我是具有2.5年经验的全职c ++程序员。我对新的C ++ 14功能感到很好。我每天都用它们。但是,每次我编译代码时,都会花费很多时间,甚至超过15分钟。我仔细阅读了有关如何使用正向引用,预编译标头等来减少编译时间的准则。但是,即使对于喜欢尝试某些逻辑/新功能或库的小型c ++项目,编译仍然需要很长时间。 我很少读到关于模块的信息,而这些模块并没有进入C ++ 17。我只是好奇地知道它将成为C ++ 20的一部分吗?它会减少编译时间吗?

1 个答案:

答案 0 :(得分:2)

摘自《 A C ++之旅》第二版:

  

语言功能(称为模块)尚不是ISO C ++,但它是ISO技术规范[ModulesTS]。实现正在使用中,因此即使细节可能会更改,而且每个人都可以在生产代码中使用它可能要花很多年,我冒风险在这里推荐它。 - Bjarne Stroustrup,A Tour of C++, June 2018

尽管因素会有所不同,但Stroustrup博士指出:

  

对可维护性和编译时性能的影响非常明显。