c > default: assert(!"不正な状態"); | default: || do nothing


引用: ゲームプログラマのためのコーディング技術 by 大圖衛玄(Moriharu Ohzu)さん

switch (state) {
    case STATE_WAIT: wait(); break; // 待機状態
    case STATE_WALK: walk(); break; ...
    ...
    default: assert(!"不正な状態"); // コメント付きのassert
}

不正な状態になりdefault節に到達すると、次のようなassertのメッセージが表示されます。コメントによってエラーの原因を、わかりやすく伝えることができます。

Assertion failed; !"不正な状態", file player.cpp line 64



一方で、default節が正常で何も処理しない場合は do nothing というコメントをつけるという書き方をどこかの本で見た。
switch (state) {
    default:
       // do nothing
       break;
}

// do nothing がついていない場合、「コーディング途中なのか?」とコードを読んだ人が疑問を持つかもしれないが、// do nothing があれば「ここでは何もしないのだ」と意図が明確になる。