_^^, ^ , Гдобальные^переменные_и WIQ

Глобальные переменные и вложенные логические блоки

Есть еще один вид переменных — глобальные. Например, переменная Form"!, в которой условно хранится главная форма нашей программы — глобальная. Она определена вне всех логических блоков — просто в начале файла Calc.cpp. Областью действия глобальных переменных считается вся программа.

h00651.jpg

Настоятельно не рекомендуется использовать глобальные переменные (за исключением тех, которые С-н-ВшШег создает автоматически). Применение глобальных переменных — очень плохой стиль программирования, приводящий ко множеству трудноуловимых логических ошибок, потому что очень сложно отследить, в каких частях программы и при каких условиях происходит изменение значений таких переменных.

— А можно ли использовать внутри логических блоков переменные с названиями, совпадающими с названиями глобальных переменных?

— Да, можно. Вообще, логические блоки разрешается неограниченно вкладывать друг в друга, и внутри каждого нового блока допускается описание переменных с именами, совпадающими с именами переменных из любых охватывающих блоков. Каждый раз при обращении к многократно определенной переменной берется значение, соответствующее значению переменной, описанной в текущем блоке.

Пример:

// здесь переменная Т не определена {// начало блока А int Т;

Т = 1;

{// начало блока Б float Т;

Т = 3.14;

}// конец блока Б

//здесь Т снова содержит число «I» {// начало блока В double Т;

Т = 3.3333;

3 Зак. 245

65