Вложенные циклы и область видимости в C++
Если у нас есть цикл в цикле, то переменные,
объявленные во внешнем цикле, будут доступны
во внутреннем. В следующем примере переменная
num доступна во внутреннем цикле:
#include <iostream>
int main() {
for (int i = 0; i <= 9; i++) {
int num = 3;
for (int j = 0; j <= 9; j++) {
std::cout << num << "\n"; // выведет 3
}
}
return 0;
}
А вот снаружи внешнего цикла переменная num
недоступна:
for (int i = 0; i <= 9; i++) {
int num = 3;
for (int j = 0; j <= 9; j++) {
}
}
std::cout << num << "\n"; // ошибка
Переменные, объявленные во внутреннем цикле, недоступны снаружи:
for (int i = 0; i <= 9; i++) {
for (int j = 0; j <= 9; j++) {
int num = 3;
}
std::cout << num << "\n"; // ошибка
}
std::cout << num << "\n"; // ошибка