Задать вопрос

конечный автомат

Что-то я «залип» обдумывая красивое и элегантное решение для работы с конечным автоматом (ессно без излишеств, т.к. для МК :)

switch-case — понятно, но хочется более красивого :)

вот — обдумываю что-то вроде этого:
www.chipenable.ru/index.php/programming-c/90--state-machine.html

кошмары из шаблонов:
www.rsdn.ru/article/alg/FiniteStateMachine.xml
www.rsdn.ru/article/alg/Static_Finite_State_Machine.xml

есть идеи? :)
Спасибо!
  • Вопрос задан
  • 7514 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 3
susl
@susl
В этих статьях есть все способы что я видел на плюсах (ну, с темплейтами есть чуть большие извращения).
Я считаю что для мелкого автомата (<5 состояний) лучше switch или goto ничего нет, если больше то я использую State/Strategy.
Кстати о goto, есть еще один способ, гибридный. По сути goto + функции на каждое действие/ивент и прыгается между ф-циями с помощью setjmp/longjmp, но это больше для С чем для С++.
Вы ищете что-то контретное? :) Просто не совсем понятно в чем поврос.
Ответ написан
mark_ablov
@mark_ablov
часто пишут макросы для удобства.
например у Алексея Пахунова в блоге есть пример от его коллеги.
Ответ написан
@DmitryMyadzelets
Всего один шаг далее простого switch-case в сторону элегантности, как мне кажется, это оформление переходов между состояниями в виде таблицы, как вот здесь: stackoverflow.com/a/1647679/1501359.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы