In my opinion, adding :: to the top of the namespace refers to the global namespace, regardless of any use of operators or parent namespaces. If this is the case, and I didnβt understand anything, then why is this code compiled (at least in Visual Studio):
namespace Foo { namespace Bar { class X; } } using namespace Foo; int main(void) { ::Bar::X x; }
source share