【问题标题】:Why break classes up into multiple source files in C++?为什么在 C++ 中将类分解为多个源文件?
【发布时间】:2010-09-18 03:48:02
【问题描述】:

在 C++ 中拥有多个源文件究竟有什么意义?对不起,如果这非常简单。

【问题讨论】:

    标签: c++ file header


    【解决方案1】:

    你的意思是在什么情况下?一个项目中有多个头文件,还是同一个文件中包含多个头文件?

    尽可能将代码分解为不同的文件有助于使其更易于维护。不必搜索 100,000 行代码来完善一个函数定义,您可能只需要查看 500 行。此外,它可以加快重新编译,因为您可以编译已更改的文件,然后链接到以前的目标文件。

    特别是对于 C++ 头文件,每个头文件只有一个类通常是个好主意,这样您就会拥有一堆不同的头文件。同样,这更易于维护。

    【讨论】:

    • 好的,谢谢。我说的是把类分成多个标题,我不确定正确的方法是什么以及有什么好处。
    • @Kevin:在 C++ 中,不可能将一个类分成多个部分。编译器必须将整个class Name { ... } 看成一个整体。您可以移动到不同文件(通常是 .cpp 文件)的唯一内容是成员函数的主体。
    【解决方案2】:

    使用多个源文件来组织代码不仅可以显着改善编译时间,还可以显着改善工作流程。它可以让更多的人同时工作,减少相互踩踏的机会。

    将类分解成多个头文件并不总是最好的方法,而且经常会导致混淆和编译代码的问题。

    我不会总是建议每个头文件只使用一个类,但绝对建议每个类只使用一个头。

    【讨论】:

      【解决方案3】:

      我同意。如果将代码分成每个文件的较小部分,则代码更容易维护。我与许多项目合作过,试图找出问题,当开发人员将多个类放入一个文件时,这变得更加困难。我个人更喜欢将每个类分成一个单独的文件,这样当我查看项目时,我就可以知道该类存在的位置。这留下了混乱的可能性,但如果名称空间使用得当,那么它应该结构良好。

      【讨论】:

        猜你喜欢
        • 2021-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-04
        • 1970-01-01
        • 2018-07-13
        • 2013-09-03
        相关资源
        最近更新 更多