Douglas Crockfod は、通常continue
はループの内側をリファクタリングする方がよいと言っています。
ループ内で続行が悪いと見なされるのはなぜですか?
の使用は、 にcontinue
記述された条件が不十分であることを意味しますwhile
。
代わりにループif
内で使用するwhile
か、条件をループに追加する必要がありwhile
ます。
ループ本体内で goto、break、continue、throw、return を使用すると、望ましくない効果が生じる可能性があります。ループ コントロールとループ本体が密接に織り合わされている別の例を次に示します。1、2、3 は前と同じように書きますか?本気ですか?
int value = 1;
for (;;++value)
{
cout << value << endl;
if (value != 4)
continue;
else
break;
}
ループ本体内で return ステートメントを使用しないようにアドバイスするのは、熱心すぎると思うかもしれません。本当にそうですか?はい、そうです。何かを返す関数は、関数の最後に単一の return ステートメントを介してそうする必要があります。いくつかの実際的な理由を次に示します。
免責事項:私の資料ではありません。ソースを参照しています
の効果は、何らかの形でループのcontinue
先頭に匹敵します。goto
したがって、コードが理解しにくくなりますgoto
。