【问题标题】:When should I use a header file?什么时候应该使用头文件?
【发布时间】:2012-02-27 15:38:20
【问题描述】:

在当地一所大学辅导了几名学生后,有人问我“与常规 .cpp 文件相比,什么时候最好在 C++ 中使用头文件?”。我有点纠结于答案,想看看是否有一个更明确的答案,说明在哪种情况下什么是最好的。

在使用可在多个项目中使用的代码时,最好使用头文件吗?我知道这是一个愚蠢的例子,但是如果您制作了可以在其他项目中反复使用的自定义数学函数;那最好放在头文件中对吗?

【问题讨论】:

标签: c++ oop


【解决方案1】:

需要从多个.cpp 文件中访问的任何内容都应在头文件中声明,并且头文件应在每个相关的.cpp 文件中为#included

例如,这可以包括全局变量、全局函数、类等的声明。

【讨论】:

    【解决方案2】:

    头文件可以更好地重用已开发的代码(即函数或类)。事实上,始终为您定义的每个类定义一个 .h 和 cpp 文件是一种标准做法。 第二个问题的答案是肯定的,如果您想在项目中重用自定义函数,您可以在 .h 文件中定义其签名,并在 .cpp 文件或已编译的 dll/lib 中定义其实际实现

    【讨论】:

      【解决方案3】:

      如果一个函数、一个类或一个宏或其他东西需要可重用(它可能从许多不同的文件中访问),那么一个好方法是将它放在头文件中并让其他文件包含那个文件。

      【讨论】:

        【解决方案4】:

        头部定义接口;源文件提供了 执行。除了琐碎简单的测试程序,你 通常从头开始——并且只写实现 一旦标题完成。在实践中,您可能会返回并修改 标头;例如将私有成员添加到类中。但目标是 在尝试实施之前正确定义您需要实施的内容 它,这就是头部的作用。

        另一个常见的策略是将低级文档放在 标题也是如此。在这种情况下,在编写标题时,您将从 写一个类将做什么的描述——它的角色和它的 尤其是在编写任何实际的 C++ 之前的职责 代码。

        【讨论】:

          【解决方案5】:

          在 C++ 中,头文件用于声明,而在大多数情况下,源文件用于定义。

          如果你需要在多个文件中使用一个类,你需要为每个文件提供类声明,在这种情况下最好使用头文件,否则如果你使用源文件,你最终会得到多个定义最重要的是,可执行文件的大小会增加。

          一般来说,为每个类或有时为一组相关类使用头文件是一种很好的做法。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-04-02
            • 2011-04-15
            • 2017-04-10
            • 2012-03-19
            • 2018-05-12
            • 2018-12-11
            • 1970-01-01
            • 2022-09-28
            相关资源
            最近更新 更多