1. ホーム
  2. c++

[解決済み] for(;i<=m;i++)とはどういう意味ですか?[重複]です。

2022-02-15 12:49:20

質問

試験勉強をしていて、この例文にぶつかったのですが、こんなセリフがあります。

for(;i<=m;i++)

私が理解できないのは、どうして ; の前に何もないのはなぜですか? それは何をするものなのでしょうか?どんな意味があるのでしょうか?

解決方法は?

A for 文の構文は次のとおりです。

for (declaration; condition; post-condition)

宣言は一度だけ行われます。条件は各ループの開始時にチェックされ、ループを進めるかどうかを決定し、後条件はループの終了時に発生する。

これらの文はすべて省略することができます。

あなたのは、単に for というように、おそらく何かがすでに宣言されているため、宣言を必要としないループがあります。

int i = 0;
for (;i<=m;++i)

もし、ループを無限に走らせたい場合は、2番目の文を省略することができます。

for (int i = 0; ;++i)

この点、無限ループは通常次のように記述されます。

for (;;)

ポストコンディションを省略したい場合は、イテレータを使用しているため、ループ中に変更することができます。

for (auto it = std::begin(v); it != std::end(v);)