2012-02-26 87 views
5

是否有可能在单个语句中包含C++标准库,或者是否必须按头逐头执行?包含C++标准库

+2

没有'#include '。 – 2012-02-26 09:02:48

+0

最好将它们包含在需要的基础上,这样编译和链接将花费更少的时间。 – Ajay 2012-02-26 09:24:13

回答

0

不,没有捷径包含所有标准标题。

0

也许你可以在你自己的all.h,然后#include<all.h>,包括所有的标题,但不建议。

4

不,没有捷径包含所有标准标题。通常你必须包括你需要单独的每一个。

可以创建一个包含所有标准库标题的头文件,例如all.h。但是,您应该考虑这样做是否明智之举,因为它会显着延长编译时间。

此外,请确保您在做出此类决定之前了解C++编译模型。如果您还不知道,请查明翻译单元,目标文件,链接程序的功能,包含库标题和链接库之间的区别。

+0

好的,谢谢,那正是我需要的。我不打算每天都这样做,前几天我参加了一个编程比赛,我和我的合作伙伴都知道该怎么做,但不知道图书馆能够获得我们需要的东西,没有他们的参考。 – xspyderz 2012-02-26 21:05:14

+0

我想在这种情况下最好的做法是尝试访问库引用 - 而不仅仅是为了找到头名称。如果不允许的话,竞争规则非常严格。如果你绝对不能引用,你可以尝试找到标准库头文件所在的目录并列出目录 - 在大多数情况下它应该是非常明显的,因为其中很多都是在主类之后调用的(例如容器)。 – AndrzejJ 2012-02-27 10:08:47

+0

对于大多数剩余的标题,您应该有一个很好的主意,例如''如果你经常使用它,如果你没有使用它,那么无论如何你都可能无法应付。作为最后的手段,您当然可以查看和/或使用带有标准库标头的目录上的grep或任何文本搜索工具。 – AndrzejJ 2012-02-27 10:12:31

2

在Visual Studio中,您可以将所有这些头文件放入预编译头文件中。由于该文件包含在您的所有文件中,因此所有stl听众都可以在任何地方使用。如果预编译头文件中包含的所有内容都来自外部库,则预编译应加快编译时间。