在讲命名空间作用域之前,简单的介绍一下命名空间。举个例子,比如说班级A有个叫小张的,B班也有一个叫叫小张的,假如你要找A班的小张,那么在走廊里大叫小张,就会产生歧义。为了声明你找的那个小张,你就得说明:我要找A班的小张,歧义就会消除。这个A班,其实就是命名空间的限制。</span>
命名空间的语法如下:
namespace 空间名
{
命名空间中的各种声明(变量、函数等)
}
在此命名空间内可以随意使用空间中的标识符,但若是想引用另一个命名空间中的标识符,就要使用如下的语法:
命名空间名::标识符
如:
namespace Ns
{
int j;
}
Ns::j=10;
有时候这样使用也很麻烦,另外有一种简单的方法:
using Ns::j或者是using namespace Ns;下面就可以使用Ns中的标识符啦。
#include<iostream>
using namespace std;
namespace A
{
int x=1;
void fun()
{
cout<<"A"<<endl;
}
}
namespace B
{
int x=2;
void fun()
{