Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.3.2 Область видимости





Существует четыре области видимости: локальная, функция, файл и класс. Локальная: Имя, описанное в блоке ($$R.6.3), является локальным в этом блоке и может использоваться только в нем и в блоках, содержащихся в этом блоке и появляющихся после момента описания. Имена формальных параметров рассматриваются, как если бы они были описаны в самом объемлющем блоке этой функции. Функция: Метки ($$R.6.1) можно использовать повсюду в функции, в которой они описаны. Только метки имеют область видимости, совпадающую с функцией. Файл: Имя описанное вне всех блоков ($$R.6.3) и классов ($$R.9) имеет область видимости файл и может быть использовано в единице трансляции, в которой оно появляется после момента описания. Имена, описанные с файловой областью видимости, называются глобальными. Класс: Имя члена класса является локальным в своем классе и оно может быть использовано только в функции-члене этого класса ($$R.9.3), или после операции., применяемой к объекту данного класса ($$R.5.2.4) или объекту производного класса($$R.10), или после операции ->, применяемой к указателю на объект данного класса ($$R.5.2.4) или на объект производного класса, или после операции разрешения:: ($$R.5.1), примененной к имени данного или производного класса. Имя, введенное с помощью операции friend ($$R.11.4), принадлежит той же области определенности, что и класс, содержащий описание friend. Класс, впервые описанный в операторе return или в типе параметра, принадлежит к глобальной области видимости.Специальные соглашения действуют на имена, введенные при описаниипараметров функции ($$R.8.2.5) и в описаниях friend ($$R.11.4). Имя может быть скрыто явным описанием того же имени в объемлющемблоке или классе. Скрытое имя члена класса все-таки можноиспользовать, если оно предваряется именем класса, к которомуприменена операция:: ($$R.4.1, $$R.9.4, $$R.10). Скрытое имя объекта,функции, типа или элемента перечисления с файловой областью видимостиможно использовать, если оно предваряется унарной операцией::($$R.5.1). В дополнении к этому, имя класса ($$R.9.1) может бытьскрыто именем объекта, функции или элемента перечисления, имеющеготу же область видимости. Если класс и объект, или функция, илиэлемент перечисления описаны (в любом порядке) с одинаковым именемв одной области видимости, то имя класса становится скрытым. Имякласса, скрытое в локальной области видимости или в областивидимости класса именем объекта, функции или элемента перечисления,все-таки можно использовать, если предварить его подходящейспецификацией class, struct или union ($$R.7.1.6). Аналогично,скрытое имя элемента перечисления можно использовать, еслипредварить его спецификацией типа enum ($$R.7.1.6). В $$R.10.4приводится сводка правил области видимости.Моментом описания имени считается момент завершения описателя имени($$R.8), предшествующей части инициализации (если она есть).Например, int x = 12; { int x = x; } Здесь второе x инициализируется своим собственным (неопределенным)значением. Моментом описания элемента перечисления считается момент сразупосле появления его идентификатора, например: enum { x = x }; Здесь элемент перечисления x опять инициализируется своим собственным(неопределенным) значением.







Дата добавления: 2015-09-04; просмотров: 330. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

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

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Studopedia.info - Студопедия - 2014-2026 год . (0.009 сек.) русская версия | украинская версия