在C ++类设计中防止反馈路由

时间:2012-01-24 05:37:38

标签: c++ feedback

对于阻止或报告反馈循环的抽象路由网络,推荐的实现是什么。

例如:

  • A调制B
  • B调节C
  • C调制A

这个例子会创建一个反馈循环。 A的最终值在分配之前是未知的,并且在该系统中,A无法准确地调制依赖于A的值,从而得到A的最终值。

实际实现更复杂,有更多的传递,任何值都可以调制任何其他值,只要它们不创建这种反馈循环。

是否有任何库或容器类型可能有助于解决此问题?

1 个答案:

答案 0 :(得分:2)

从编程的角度来看,您正在查看有向图,并尝试确定它是否是非循环的。鉴于您正在使用C ++,Boost Graph Library将是明显的选择。如果你在图上尝试拓扑排序,那么当/如果图包含一个循环时,它将失败(通过抛出boost::not_a_dag)(因为只能对非循环图进行拓扑排序)。

相关问题