Ale*_*rus 5 c++ circular-dependency header-files
我有一个开始变大的C++项目.我面临的情况是我有很多循环依赖的类.假设我有类A,B,C,D.为了解决这个问题,我创建了一个名为circular_dep.h的头文件
这个文件的内容是指向类的指针:
class A;
class B;
class C;
class D;
Run Code Online (Sandbox Code Playgroud)
这个标题现在包含在我所有类的标题中.这样,当我有循环依赖时,编译器停止抱怨.但是,每当我向项目添加一个新类时,我都必须将它添加到circular_dep.h中
我找不到更简单的方法来做到这一点,所以对我来说这是迄今为止最好的解决方案.我的问题是:适用于可能面临循环依赖问题的项目是否是一个好主意?或者这是一个糟糕的设计/糟糕或危险的做法?
你拥有的很好。我通常看到的命名后缀是_fwd.h/ _fwd.hpp/_fwd.hxx或您喜欢的任何变体.h。您可以在 Boost 中看到这一点,例如:Optional_fwd.hpp。
(当然,减少循环依赖是一个很好的目标,但有些东西本质上是相互递归的,比如语法,所以你别无选择。)
| 归档时间: |
|
| 查看次数: |
273 次 |
| 最近记录: |