loop interno com o mesmo nome de variável que o loop externo
assumindo o seguinte código simples:
for(int i=0; i < 1000; i++)
{
cout << "Outer i: " << i << endl;
for(int i=0; i < 12; i++)
{
cout << "Inner i:" << i << endl;
}
}
Funciona muito bem. O mesmo nome de variável nos dois loops usados e a saída está bem.
Eu entendi direito que ambas as variáveis são criadas na pilha, e quando o loop externo vem para o novo loop interno, um novo "namespace" (talvez o nome errado ..) é criado? Mas por que é sobrescrito? Se eu escolher outro nome para a variável em loop interno, também posso acessar oi
do loop externo.
Estou um pouco confuso.