Вложенные области видимости |
Листинг 9^11. Демонстрационная'программа 7 j // Демонстрирует вложенные области видимости. int х; // глобальная х int main () { int i; i = 4; x = 99; // глобальной переменной х присваиваивается значение 99 if(i == 4) { inc х; // локальная х int num; // локальная для оператора if х - i * 2; cout « "Outer local x before loop: " « x « "\n" ; while (x—) { int x; // другая локальная x x = 18; cout « "Inner local x: " « x « "\n"; } cout « "Outer local x after loop: " « x « "\n"; } //Не может ссылаться здесь на num, так как она локальная // для предшествующего блока if. // num = 10; cout « "Global x: " « x « "\n"; } Далее приведен вывод программы из листинга 9.11. Обратите внимание на то, что все 3 переменные х разные. Outer local х before loop: 8 Inner local x: 18 Inner local x: 18 Inner local x: 18 Inner local x: 18 Inner local x: 18 Inner local x: 18 Inner local x: 18 Inner local x: 18 Outer local x after loop: -1 Global x: 99
|