だから、 'i'はC++のユニバーサルカウンターのようです。すべてのforループのように、人々は 'i'を再初期化します。私は尋ねる必要があります、なぜ彼らは単に私はグローバルに初期化しないのですか?私はまだ各ループで再定義する必要があるので、なぜ混乱が生じるのか分かりません。なぜ人々は私をグローバルに初期化しないのですか?
それはちょうどこのように思える:
#include <iostream>
int i=0;
int main()
{
for (i=0;i<3;i++)
{
std::cout << i << "\n";
}
for (i=0;i<5;i++)
{
std::cout << "hello" << "\n";
}
return 0;
}
は読みやすく、そしてより書き込みが高速です:
#include <iostream>
int main()
{
for (int i=0;i<3;i++)
{
std::cout << i << "\n";
}
for (int i=0;i<5;i++)
{
std::cout << "hello" << "\n";
}
return 0;
}
「私はグローバルに初期化するのはなぜですか?質問ではありませんか? – iNeedToMakeBetterQuestions
その問題の問題ではなく、少なくとも問題なく、 – Treycos
ループの外側に 'i'が定義されていると、' i'が偶発的に使用される可能性があります。すべてのループでiを初期化することは、そのループを上回るインデックスであるという意図を示します。 – Danh