switch 文について

switch 文について

c言語のswitch分は使いどころはないと思っていたけど、ステートマシーン的に使うならありだなと思った。

そもそもswitchはifで代替可能。 一方で、デメリットとして拡張していく際に条件文を複雑できない、フォールスルーによるバグやdefault文忘れによるバグが発生がしやすい、などがあるため、あまり意味を感じていなかった。しかし、

switch(state) { 
  case (first_state) : 
     // 処理A
  case (second_state) : 
     // 処理B
  case (third_state) : 
     // 処理C
  default :
     break;
}

のようにステートマシンのようにするのは確かにありだなと思った。