我正在为嵌入式 C++ 应用程序接口(interface)使用分层 FSM。我想使用小函数来确定是否可以触发某些状态间事件,以及使用它们来影响数据库中的更改:但是,为每个状态创建一个具有不同事件函数的新类也令人望而生畏将指向它们的指针设置为回调。 (我们在这里谈论的是 300 个函数。)
如果 C++ 支持 lambda 函数,我会使用它们,但我对项目架构没有太大的重视,所以我不愿意使用需要大量库集成的第三方解决方案(如 boost)或包含额外的预处理器步骤。
有什么想法吗?
最佳答案
实际上,如果您使用 Boost/TR1 库,则支持 Lambda functions .详情可以在 Boost web site 上找到.
关于c++ - 在 C++ 状态机中实现事件条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/334746/