#include <bits/stdc .h> 如何在 C 中工作?

新手上路,请多包涵

我从 codeforces 博客中了解到,如果我们在 C++ 程序中添加 #include <bits/stdc++.h> ,则无需包含任何其他头文件。 #include <bits/stdc++.h> 是如何工作的,可以使用它而不是包含单个头文件吗?

原文由 GorvGoyl 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 711
2 个回答

它基本上是一个头文件,还包括每个标准库和 STL 包含文件。我能看到的唯一目的是测试和教育。

参见例如 GCC 4.8.0 /bits/stdc++.h source

使用它会包含很多不必要的东西并增加编译时间。

编辑: 正如尼尔所说,它是预编译头文件的实现。如果您正确设置它以进行预编译,实际上它可以根据您的项目加快编译时间。 ( https://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html

但是,我建议您花时间了解每个 sl/stl 标头并单独包含它们,并且不要使用“超级标头”,除非用于预编译目的。

原文由 Zelix 发布,翻译遵循 CC BY-SA 4.0 许可协议

该头文件不是 C++ 标准的一部分,因此是不可移植的,应该避免使用。

此外,即使标准中有一些包罗万象的标头,您也希望避免使用它来代替特定标头,因为编译器必须每次都实际读取并解析每个包含的标头(包括递归包含的标头)编译单元。

原文由 Robert Allan Hennigan Leahy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题