C++. Бархатный путь. Часть 1 Страница 34. Операция доступа
|
Страница 34 из 82 1.7. Операция доступа ::Операция доступа. Обеспечивает обращение к именованной глобальной области памяти, находящейся вне области видимости. Эта операция применяется при работе с одноимёнными объектами, расположенными во вложенных областях действия имён. Когда объект во внутренней области действия имени скрывает одноименный объект, областью действия которого является файл. Например: int m; // Глобальная переменная. ::::: int mmm() { int m; // Локальная переменная. m = 100; // Присвоение значения локальной переменной. ::m = 125; // Присвоение значения глобальной // переменной m, находящейся вне области видимости // имени. }
Не следует испытывать никаких иллюзий относительно возможностей этой операции. Операция обеспечивает доступ лишь к глобальным, естественно, ранее объявленным объектам, независимо от степени вложенности области действия. Поэтому она не обладает свойством транзитивности. Выражения вида ::(::(::m)) воспринимаются транслятором как ошибочные. |