我有一个很大的命名空间,里面有很多函数和变量。现在我想将它们分成不同的文件以便于维护。
只有一个问题是一个文件可能需要来自其他文件的函数/变量,反之亦然,即 A 需要包含 B,B 需要包含 A.. 它不起作用,因为每个文件只能包含一次。
我不确定这是否是这样做的方法,有什么想法吗?
我有一个很大的命名空间,里面有很多函数和变量。现在我想将它们分成不同的文件以便于维护。
只有一个问题是一个文件可能需要来自其他文件的函数/变量,反之亦然,即 A 需要包含 B,B 需要包含 A.. 它不起作用,因为每个文件只能包含一次。
我不确定这是否是这样做的方法,有什么想法吗?
将您的函数原型放入头文件 ( .h
)。将您的函数实现放入源文件 ( .cpp
)。
这样,您将能够使用例如通过包含在B.cpp
中实现的功能,同时使用通过包含在中实现的功能。A.cpp
B.h
A.cpp
A.cpp
B.cpp
A.h
B.cpp
更新
正如安德烈在评论中指出的那样,这被称为“前向声明”。
这可能是一个具有挑战性的问题,具体取决于您的代码。你需要分析所有的依赖关系,看看你是否能想出一种直观的方法来分割你的代码。
已经提到的前向声明可以提供帮助。它还可以帮助使用接口。在接口上可以找到很多东西,例如在 stackoverflow 上