8

Douglas Crockfod は、通常continueはループの内側をリファクタリングする方がよいと言っています。

ループ内で続行が悪いと見なされるのはなぜですか?

4

3 に答える 3

7

の使用は、 にcontinue記述された条件が不十分であることを意味しますwhile

代わりにループif内で使用するwhileか、条件をループに追加する必要がありwhileます。

于 2011-02-06T14:52:52.580 に答える
4

ループ本体内で goto、break、continue、throw、return を使用すると、望ましくない効果が生じる可能性があります。ループ コントロールとループ本体が密接に織り合わされている別の例を次に示します。1、2、3 は前と同じように書きますか?本気ですか?

int value = 1;
    for (;;++value)
    {
        cout << value << endl;
        if (value != 4)
            continue;
        else
            break;
    }

ループ本体内で return ステートメントを使用しないようにアドバイスするのは、熱心すぎると思うかもしれません。本当にそうですか?はい、そうです。何かを返す関数は、関数の最後に単一の return ステートメントを介してそうする必要があります。いくつかの実際的な理由を次に示します。

リンク

免責事項:私の資料ではありません。ソースを参照しています

于 2011-02-06T14:53:46.533 に答える
1

の効果は、何らかの形でループのcontinue先頭に匹敵します。gotoしたがって、コードが理解しにくくなりますgoto

于 2011-02-06T14:51:11.277 に答える