使うの話2008/09/09ケースバイケースなんでしょうけど,こちらから。カラwhileって使いますか?関数の中にreturnを複数書いてはいけない、というルールはよく見かけます。拒絶反応を起こす人もよく見ます。インデントが深くなるのは見辛くて駄目だ。ルールに立ち向かう人がいました。ここではレジスタンスと呼ぶことにします。レジスタンスもたくさんいるわけですが、その中でも感動した方法は次のものです。bRet;}ガード句を使いながら、returnはひとつだけです。whileの最後でbreakする(=ループしない)からだと思います。別の戦地ではこんな言葉通じません。bRet;}で,ええんでないの?条件式が長くなるのはイヤンって場合は,マクロなり,インライン関数にしてしまえばいい(普通の関数でもいいけど)。以下はインライン関数の例。こんな風に書けばいいか。なった時点で後の関数が実行されることはありません。何度も評価されるので,厳密に等価な文じゃないんですけどね。これなら,条件の追加や削除も楽ちんです。場合は後処理を実行したいのよ,という場合もあると思います。その場合は,こうなるか。何か値を戻してもらう制限がつくけれど,大した制限じゃないと思います(値を戻さない場合はコンパイルエラーになるから,間違えて実装しちゃうこともないだろうし)。ここまで来ると,ちとテクニカルになって可読性が落ちるんですけどね......。使うか迷う場合ってのはあまりない感じがします。使うのが多いから,大抵のコーディング規約で禁止してるんだろうな......多分。