在面试期间,我被要求为具有 100 个状态的系统实现一个状态机,其中每个状态又具有 100 个事件,我回答了以下 3 种方法:
if-else 显然不适合这样的状态机,因此主要比较是 switch-case 与函数指针之间的比较,以下是根据我的理解的比较:
- 速度方面两者几乎相同。
- Switch-case 的模块化程度低于函数指针
- 函数指针有更多的内存开销。
有人可以确认上述理解是否正确吗?
函数指针方法可能有一种变体:包含函数指针以及其他信息的结构。所以你可以让一个函数处理多种情况。
除此之外,我认为你是对的。另外,我认为有关内存和速度的开销值得考虑,但希望足够小,最终可以被忽略。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)