logo
ЯП / ЯП / ЯП экзамен

Пространство имен, область видимости, время жизни переменных.

Пространство имён (англ. namespace) — некоторое множество, под которым подразумевается модель, абстрактное хранилище или окружение, созданное для логической группировки уникальных идентификаторов (то есть имён). Идентификатор, определенный в пространстве имён, ассоциируется с этим пространством. Один и тот же идентификатор может быть независимо определён в нескольких пространствах. Таким образом, значение, связанное с идентификатором, определённым в одном пространстве имён, может иметь (или не иметь) такое же значение, как и такой же идентификатор, определённый в другом пространстве. Языки с поддержкой пространств имён определяют правила, указывающие, к какому пространству имён принадлежит идентификатор (то есть его определение).

Объявления пространств имен имеют область. Это значит, что пространства имен могут появляться в любом месте документа, но у них, как у переменных, есть своя область и каждое пространство имен действует только для своей области. Существует два типа области: по умолчанию и полная.

Пространство имен по умолчанию — это пространство имен, декларированное в корневом элементе. Его областью применения являются все элементы документа с неполным именем. Полное пространство имен — это то пространство, которое декларируется, когда более конкретное пространство имен переопределяет другое в определенном месте документа.

Область видимости имени (англ. scope) — понятие в некоторых языках программирования, означающее места в исходном коде, в которых может использоваться данное имя.

По области видимости переменных делятся на: локальные (которые «видны» внутри данной структуры — файла, подпрограммы или оператора) и глобальные (которые «видны» во всей программе). В некоторых языках появились ещё и общие переменные.[источник?]

Область видимости переменной может задаваться с помощью классов памяти или пространства имён.

В C++ область доступа поля класса можно задавать с помощью ключевых слов public, private и protected.

Области видимости определяются и для языков разметки. Например, в HTML областью видимости имени элемента управления является форма (HTML) от <form> до </form>