は、私たちは、クラスbool
、void
それぞれ何かを返す制限なしと三つの機能cond
、next
とf
とT
これは、 "for"の代わりの "while"と同じですか?
for(T k = T(); cond(); next())
f();
と
{
T k = T();
while(cond()) {
f();
next();
}
}
同じアルゴリズム話している定義されていると仮定すると?
は、私たちは、クラスbool
、void
それぞれ何かを返す制限なしと三つの機能cond
、next
とf
とT
これは、 "for"の代わりの "while"と同じですか?
for(T k = T(); cond(); next())
f();
と
{
T k = T();
while(cond()) {
f();
next();
}
}
同じアルゴリズム話している定義されていると仮定すると?
もちろんです。 for (init; cond; step) {statements}
構文は
{
init;
while (cond) {
statements;
step;
}
}
に同等であるので、彼らは(特定の場合に可読性を除く)完全に交換可能です。
最初の行と最後の行のスタンドアロンブレースの目的は、初期化された変数の範囲をループ自体に制限することです。
どちらの場合も、クラスオブジェクトを初期化した後で、チェック条件とそれに続く次のステップが同じように配置されるため、両方ともFORとWHILE相互変換可能である。
C++の本の説明には、あなたがよく理解していない 'for'ステートメントの仕組みが具体的にありますか? –
私は答えを掲示するだろうが、 "はい"短すぎます。 – melpomene
@melpomene「短い回答」の残りの部分は、文書や抜粋へのリンクで簡単に記入することができます。 – user2864740