语句“using namespace A;”声明了一个全局变量A::a,以及一个命名空间B。因此main函数中无论是a,A::a,还是::a,都指代该全局变量A::a,值为100。同时,引用变量A::B::a时可以简写为B::a。
注:
-
main函数外的语句“using namespace A;”声明了一个全局变量A::a,此时不能用语句"int a = 200"申明全局变量a,否则会导致main函数中的变量a指代不明(::a仍指向全局变量a,值为200)
-
在main函数内部声明“using namespace A;”,将会有局部变量A::a,显示没有全局变量a