struct X { int i; };

// Method 1 - global scope
int v1;
X x1;
void f1(void)
{
  v1 = 1;   // ::v1
  x1.i = 1; // ::x1.i
}

// Method 2 - namespace
namespace MyGlobalNS
{
  int v2;
  X x2;
}
namespace mgn = MyGlobalNS;
void f2a(void) // qualified
{
  mgn::v2 = 1;
  mgn::x2.i = 2;
}
using namespace mgn;
void f2b(void)
{
  v2 = 1; // mgn::v2
  x2.i = 2; // mgn::x2.I
}

// Method 3 - global class
struct MyGlobalClass
{
  int v3;
  X x3;
};
MyGlobalClass mgc;
void main(void)
{
  mgc.v3 = 1;
  mgc.x3.i = 3;
}