我正在构建模拟器的一部分。我们正在构建一个传统的模拟器,但是朝着不同的方向发展,在模拟位的旁边合并了实时位。我正在处理的部分必须有效地将命令从中央 Controller 路由到各个位。

在旧版代码中,有一个用枚举类型填充的const数组。出现一个命令,在表中查找该命令,然后将其发送到以枚举类型为键的switch语句。

类型枚举有一个选项VALID_BUT_NOT_SIMULATED,从sim的 Angular 来看,它实际上是一个空操作。我需要将这些无操作转换成命令以执行其他实际操作[新的模拟位|活位]。新事物和 Activity 事物的界面与旧事物的界面不同(这使我为使这一切变得艰巨而笑,但这是另一个讨论的主题)。

我喜欢数组,因为它非常生动地描述了该块正在模拟的活物(按行和列对电路进行闩锁)。我以为我会尝试用指向函数的指针替换数组中的枚举类型,然后直接调用它们。这将代替lookup + switch。

最佳答案

不能做但是,您可以使用函子来做类似的事情。我放了示例代码,但在编写它时,我意识到这样的构造必然很复杂。您可能会看到boost::bind的一些想法。

10-03 00:18