【问题标题】:State Machine vs Switch Case [closed]状态机与开关盒[关闭]
【发布时间】:2018-09-13 17:27:05
【问题描述】:

我正在使用 Rational Rhapsody 进行项目开发。我正在使用状态机进行状态(屏幕)转换,也可以使用switch 来完成。我想知道与switch 语句相比,Rational Rhapsody 中的状态机有哪些优势。

【问题讨论】:

  • 我上次使用状态机时,是通过 switch case 构造完成的。你的标签是矛盾的。您可以使用 C 或 C++,但不能同时使用两者。
  • 那么请不要添加无关的语言标签。
  • @Gerhardh 同时使用 C 和 C++ 有什么问题?它们完全兼容。
  • 它们是不同的语言,有不同的规则。语法和语义的某些部分相似的事实并不能使它们成为相同的语言。其中很多都非常不兼容。
  • @AntonMalyshev 您可以通过extern "C" 互操作 C 和 C++ 二进制文件。那是 not 同时使用两者。无论如何,一个连语言都没有解决的模糊问题也不会产生好的结果。

标签: c++ c++11 state-machine rhapsody


【解决方案1】:

你的问题有点离题:

状态机是一个“概念”,而 switch-case 是状态机的一种可能实现。

这就像说“我们可以在 C++ 中进行命令式编程吗?”。 命令式编程是一个概念(这里是范式),并且可以在 C++ 中实现。

你可以通过switch-case、array、链表……来实现状态机。 是否真的需要状态机以及如何实现它取决于您自己。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    相关资源
    最近更新 更多