gpt4 book ai didi

c++ - 一个头文件中的多个类与每个类一个头文件

转载 作者:IT老高 更新时间:2023-10-28 12:10:34 25 4
gpt4 key购买 nike

无论出于何种原因,我们公司都有一个编码指南规定:

每个类都有自己的头文件和实现文件。

因此,如果我们编写一个名为 MyString 的类,我们将需要一个关联的 MyStringh.hMyString.cxx

还有其他人这样做吗?有没有人看到任何编译性能的影响? 10000 个文件中的 5000 个类的编译速度是否与 2500 个文件中的 5000 个类一样快?如果没有,差异是否明显?

[我们使用 C++ 编写代码并使用 GCC 3.4.4 作为日常编译器]

最佳答案

这里的术语是翻译单元,你真的希望(如果可能的话)每个翻译单元有一个类,即每个 .cpp 文件一个类实现,并有一个对应的 .h 文件名字。

以这种方式做事通常更有效(从编译/链接的角度来看),尤其是当您正在做诸如增量链接之类的事情时。这个想法是,翻译单元是孤立的,这样当一个翻译单元发生变化时,您不必重建很多东西,如果您开始将许多抽象集中到一个翻译单元中,您就必须这样做。

您还会发现许多错误/诊断是通过文件名报告的(“Myclass.cpp 中的错误,第 22 行”),如果文件和类之间存在一对一的对应关系,它会有所帮助。 (或者我想你可以称之为 2 对 1 对应)。

关于c++ - 一个头文件中的多个类与每个类一个头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28160/

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