C++で状態を扱ういくつかのパターン