プログラミングを学び始めて以来、私が学ぶすべての言語には常にwhile
ループとfor
ループがあります。
ループができるwhile
すべてのことを行うことができます。for
どちらも同じ機能を実行して繰り返します。for
では、ループを追加する目的は何でしたか?
それらを使用する際にパフォーマンスの違いはありますか?すべての言語に 2 つのループがあるのはなぜですか?
プログラミングを学び始めて以来、私が学ぶすべての言語には常にwhile
ループとfor
ループがあります。
ループができるwhile
すべてのことを行うことができます。for
どちらも同じ機能を実行して繰り返します。for
では、ループを追加する目的は何でしたか?
それらを使用する際にパフォーマンスの違いはありますか?すべての言語に 2 つのループがあるのはなぜですか?
for
たとえばC/C++で使用される典型的なループについて話していると思います。
ループfor
はいつでもループに書き直すことができますが、読みやすさwhile
の点で大きな利点があります。 ループに関連するすべてのプロパティ
1行でキャプチャできます。ループを含む長い本文がある場合while
、全体が画面サイズに収まらないか、収まったとしてもコードを視覚的に解析して何が起こっているかを確認する必要があります。
本質的に、該当する場合、for
ループはコードの意図をより適切に捉えます。
ループを「ループ」にする条件であり、どちらの場合も条件はユーザーによって提供されるため(そして、マシンコードへのループ構成変換の一部ではありません)、ドキュメントツールとしてさまざまなフレーバーで存在するのではないかと思います。何よりも。ただし、forループを使用すると、ループの期間中のみ存在するローカル変数を宣言できます。
for (Iterator it = c.begin(); it != c.end(); ++it) {
} // it destroyed here
多くの場合、すべてのループなしで実行できます。後藤は十分です
唯一の違いはコードの読みやすさです。コンパイル時に、ループは前の初期化とそれに続くインクリメントをfor
含むループに変換されます。while
for
ループは、終了条件がわかっている場合に使用されます。
while
ループは通常、終了条件がわからない場合に使用されます。終了条件がどうなるか気にしない場合は、より良いと言えます...そしてパフォーマンスに関しては両方とも同じです