C/C++技巧
+ -

C/C++技巧 状态机

2023-06-06 10 0

假如有如下的流程,根据不同的情况,各个状总需进行不同的转换。如果用if else当然也能写,但大量的if esle 嵌套总有些吃力。

状态机

其实我们可以使用while switch来编写一个简单的状态机,以后维护其来也方便。


Int key = GetKey();
While(1)
{
    switch(key)
    {
        case 1:
        {
            ?k=5,4
            break;
        }
            case 2:
        {
            ?key=1,5
            break;
        }

         case 3:
        {
            ?key=2,5
            break;
        }
         case 4:
        {
            ?key=1,3
            break;
        }
         case 5:
        {
            ?key=4
            break;
        }
         case 6:
        {
            ?key=3
            break;
        }
}
}

0 篇笔记 写笔记

ASIO 状态机
主机应用程序加载设备的ASIO驱动程序,其时序状态机如下图:LOADED(加载驱动程序):应用程序加载ASIO驱动程序。Initialized(初始化):驱动程序接收应用程序控制查询,不过设备不必要在此时创建。Prepared(准备好):收发音频数据的缓冲区已经被分配,并且设备准备工作。Runn......
C/C++技巧 状态机
假如有如下的流程,根据不同的情况,各个状总需进行不同的转换。如果用if else当然也能写,但大量的if esle 嵌套总有些吃力。其实我们可以使用while switch来编写一个简单的状态机,以后维护其来也方便。Int key = GetKey();While(1){ swi......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!