c++ - 两个两个 C++ 项目可以相互引用吗?

标签 c++ eclipse coding-style

我在 Eclipse 中有两个独立的项目。 项目A需要引用项目B,项目B需要引用项目A。

Is it possible and wise to refer each other ?

更新:

项目 B 使用项目 A 的许多类(某种库),而项目 A 只需要项目 B 的特定类(因为项目 A 收到了项目 B 中该类的对象,因此项目 A 需要该类type_cast 并做一些事情)

最佳答案

不确定 eclipse 是否可行,我想是不行的。但这肯定不是一个好主意。

引用应该朝着一个方向,避免循环。假设您想在 B 中引用 A 的代码,但发现 B 也需要 A 的代码。您可以尝试将这些部分代码从 A 移动到 B。

如果这没有意义,请使用 A 和 B 都使用的公共(public)代码创建一个新项目 C。

顺便说一下,这与 C++ 并没有真正的关系。它在任何编程语言甚至非编程项目中都有意义。

编辑:阅读您的一条评论后,(“...项目 A 只需要项目 B 的特定类(因为项目 A 收到了该类的对象...”)看起来您可以解决这个问题使用某种依赖注入(inject):

A 中的类不应依赖于 B 中定义的类,而应依赖于派生 B 中特定类的通用接口(interface)(抽象类)。只有当 B 使用 A 时,它传递了一个特定类的对象。好的,这很简短,如果您需要更多解释,只需搜索 dependency injection,这绝对是一个重要的概念。

关于c++ - 两个两个 C++ 项目可以相互引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973676/

相关文章:

java - 在 Eclipse 中的空 block 之前删除新行

c++ - 同一个lambda的不同定义

c++ - 如何将一个 std::queue 的内容附加到另一个

Java8 代码停止编译并让我进行不必要的显式转换

Java Servlet 上下文参数初始化问题

java - 有没有办法让两个功能保持同步?

c++ - 如何在 C++ 中使用 scanf() 读取字符串?

c++ - 为什么我的 libmpg123 构建不支持 float ?我如何启用它?

java - Android 在设备上的开发和测试会占用手机内部硬盘空间

c# - 这段代码有多糟糕?