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