我对这个有点难过。考虑它的最简单方法是一组实现状态机状态并返回下一个状态的函数(请注意 - FSM 示例只是激励性的,我不是在寻找如何设计 FSM)。
所以我正在寻找 C 风格的 typedef 和 C++ 11 使用 StateHandler (函数指针)的定义,其中代码类似于(忽略声明等......):
// typdef for StateHandler
// -- and to see the new c++ 11 way --
// using StateHandler = StateHandler (*)(State *, int); // note -- does not compile
StateHandler StateOne(State *state, int arbitraryArgs) {
// do stuff and go to state 2
return StateTwo;
}
StateHandler StateTwo(State *state, int arbitraryArgs) {
// do stuff and go to state 1
return StateOne;
}