gpt4 book ai didi

c++ - 在库中使用的最佳标题结构是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:09 25 4
gpt4 key购买 nike

关于库中的 header ,我看到了两个选项,但我不确定该选择是否真的很重要。假设我创建了一个库,我们称它为 foobar .请帮我选择最合适的选项:

  1. 在库项目的根目录中包含一个,我们称之为 foobar.h ,其中包括库中的所有 header ,例如“src/some_namespace/SomeClass.h”等。然后从库外,在我想使用任何与 foobar 相关的文件中图书馆,只是#include <foobar.h> .

  2. 没有主要的包含,而是只在我要使用它们的地方包含我们需要的 header ,所以我可能在源文件中有一大堆包含。由于我使用的 namespace 有时深达 3 个,因此包含 header 似乎有点繁琐。

我选择了选项 1,因为它很容易实现。 OpenGL 和许多其他库似乎都这样做,所以这似乎是明智的。然而,标准 C++ 库可能要求我在任何给定文件中包含多个头文件,为什么它们不只有一个头文件呢?除非是我和白痴,而且它们是独立的库...

更新:

除了答案,我认为提供这两个选项是有意义的,对吗?如果我想使用 std::string 但必须包含大量头文件,我会很生气;那将是愚蠢的。另一方面,如果我不得不输入一大堆 #include,我会很生气。无论如何我都想使用大部分库的行。

转发标题:

感谢所有为我提供前向头球建议的人,这帮助我让头球丛林变得不那么复杂! :)

最佳答案

STL、boost 等有很多头文件需要包含,他们给你提供了独立的工具,你可以独立使用。

因此,如果您的库是一组解耦工具,您必须选择将它们作为单独的部分包含以及将整个库作为一个文件包含。

关于c++ - 在库中使用的最佳标题结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/734936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com