次の単純なコードを想定しています。
for(int i=0; i < 1000; i++)
{
cout << "Outer i: " << i << endl;
for(int i=0; i < 12; i++)
{
cout << "Inner i:" << i << endl;
}
}
とてもいい作品。使用される両方のループで同じ変数名が使用され、出力は問題ありません。
両方の変数がスタック上に作成され、外側のループが新しい内側のループになると、新しい「名前空間」(おそらく間違った名前..) が作成されることを正しく理解していますか? しかし、なぜ上書きされるのでしょうか。内側のループの変数に別の名前を選択すると i
、外側のループからもアクセスできます。
少し混乱しています。