Оператор разрешения области: ::

Можно указать, что компилятор использовал глобальный идентификатор, а не идентификатор языкового стандарта, подставляя префикс идентификатора с ::оператор разрешения области.

:: identifier
class-name :: identifier
namespace :: identifier

Заметки

Идентификатор могут иметь переменную или функцию.

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

Пример

В этом примере имеется 2 именованной переменной amount.Первое глобально и содержит значение 123.Второй является локальным для основных функций.Оператор разрешения области заставляет компилятор использует глобальные amount вместо локального объекта.

// expre_ScopeResolutionOperator.cpp
// compile with: /EHsc
// Demonstrate scope resolution operator
#include <iostream>

using namespace std;

int amount = 123;   // A global variable

int main() {
   int amount = 456;   // A local variable
   cout  << ::amount << endl   // Print the global variable
         << amount << endl;    // Print the local variable
}

См. также

Ссылки

Операторы C++

Operator precedence and Associativity

Пространства имен (C++)

Имена и полные имена