关于命名空间内变量和函数及全局变量的使用和作用域:
#include
usingnamespace std;
namespace A
{
int a =100;
namespace B //嵌套一个命名空间B
{
int a =20;
}
}
int a =200;//定义一个全局变量
int main(int argc,char*argv[])
{
cout <<"A::a ="<< A::a << endl;
cout <<"A::B::a ="<<A::B::a << endl;
cout <<"a ="<<a << endl;
cout <<"::a ="<<::a << endl;
int a =30;
cout <<"a ="<<a << endl;
cout <<"::a ="<<::a << endl;
return0;
}
结果:
A::a =100
A::B::a =20
a =200 //全局变量a
::a =200
a =30 //局部变量a
::a =200
即:全局变量 a 表达为 ::a,用于当有同名的局部变量时来区别两者。