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;
}