C++. Бархатный путь. Часть 1 - Операция доступа

ОГЛАВЛЕНИЕ

 

1.7. Операция доступа

::	Операция доступа.

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

int m; // Глобальная переменная.
:::::
int mmm()
{
int m; // Локальная переменная.
m = 100; // Присвоение значения локальной переменной.
::m = 125; // Присвоение значения глобальной
// переменной m, находящейся вне области видимости
// имени.
}

Не следует испытывать никаких иллюзий относительно возможностей этой операции. Операция обеспечивает доступ лишь к глобальным, естественно, ранее объявленным объектам, независимо от степени вложенности области действия. Поэтому она не обладает свойством транзитивности. Выражения вида ::(::(::m)) воспринимаются транслятором как ошибочные.