O declaraţie introduce un nume într-un domeniu; adică, un nume poate fi folosit doar într-o parte specifică a codului
(program text).
Un nume este numit global dacă este definit în afara oricărei funcţii, clase sau namespace (spaţiu de nume).
Domeniul unui nume global ţine de la de la punctul de declarare până la sfârşitul fişierului în care declaraţia apare.
int x; //global
void func( )
{
int x = 1; //hide global x
::x=2; //assign to global x
}