由于在类 Fsm 中声明了typedef F const * state_ptr_const_t;
,对于特定的 Fsm,我们不能获得多个实例。 有什么办法可以避免这种情况吗?
正如您所说的那样,Fsm 和状态都是模板类型的静态实例。 这意味着对于特定的 Fsm,不可能有多个实例。
使用一些模板元编程魔法可能是可能的,我记得对此做了一些实验,但它变得非常复杂,所以我放弃了它(因为 tinyfsm 的一个主要目标是保持简单)。
以下是如何拥有多个相同类型的状态机,声明一个examples/api/multiple_switch.cpp 。
我打算使用这个库为数千个 AI 机器人做 fsm……如果我没有办法为每个机器人实例化一个 Fsm 对象,这似乎不再可行。 (新手 c++ 学习者,所以如果有解决方法,那就不是积极的了)。
嗯,我只会使用https://www.boost.org/doc/libs/1_64_0/libs/msm,因为它在功能方面更符合我的需求。
同样的问题。 我想将此库用于 websocket 服务器 - websockets 作为状态机。
_我遇到了