DOSEIの日記

技術メモ+日常ログ

後判定ループ

for は後判定で、while は前判定であるのは周知の事実ではある。しかし、 while を前判定らしく使うことはほとんどなく、

while(1) // 無限ループ
{
  // 処理
  if(条件) break;
}

が慣用句である。これを do-while を使って書き換えることもできるが、あまり人気がない。その理由の一つに、条件節が最後に来るので可読性に劣るという点がある。
じゃあ、後判定だけど先に条件を書くような構文にすればいいんじゃないかなぁ。

do_while(条件)
{
  // 処理
}