20.2.2.  File Scope Versus Block Scope and operator::

[ fromfile: scopestorage.xml id: filevsblockscope ]

You have seen and used the scope resolution operator to extend the scope of a class or access its members with ClassName::. A similar syntax is used to access the individual symbols in a namespace with NamespaceName::. C++ also has a (unary) filescope resolution operator, ::, that provides access to global, namespace, or file scope objects from inside an enclosed scope. The following exercises deal with the use of this operator with various scopes.