一个头用于多个pcp文件

One header for multiple cpp-files

本文关键字:pcp 用于 文件 一个      更新时间:2023-10-16

假设我有3个pcp文件:

Main.cpp
First.cpp
Second.cpp

现在我想在Main中使用First和Second的函数。如果我对cpp文件和它们的函数只使用一个头文件,有什么可抱怨的吗?

可以有任何问题,当使用头文件在第一,因为我需要一个函数从第二在第一?

只要您遵循ODR - One定义规则并且每个声明都是一致的,您就会很好。

头文件通常用于提供函数和其他东西的声明,链接阶段(除非有一些更复杂的东西,如模板)将负责解决这些依赖关系。

我没有说任何关于设计的东西-没有提供足够的信息。

一个header,几个cps。cpp中的所有函数都可以在一个头文件中声明。(例:"general.h")所有cpp都应该包含"general.h"文件。然后定义已声明的函数体。

不,只要你为每个声明提供一个定义给编译器,就可以了。

然而,最佳实践是为每个头文件提供一个源文件:如果"First"需要两个源文件,则只需包含First.h和Second.h

就c++而言,使用一个头文件并将函数的实际实现拆分到两个文件之间不会有任何问题。然而,这偏离了惯例,如果您需要"First.cpp"中的"Second.cpp"中的函数,也许您应该查看每个文件中发生了什么,也许应该将功能分离到另一个文件中。

作为个人偏好,我说您应该坚持为每个头文件使用一个cpp文件。分割实现只会在以后需要重构或再次移动实现时造成麻烦。

如果您使用的架构是将服务器和客户端代码混合在一个定义中,那么使用不同的cpp文件将它们分开可能是一种方法。