命名空间可以避免变量名重复引发的冲突,如:
#include<iostream>
using namespace std;
namespace a1
{int b=1;}
namespace a2
{int b=2;}
int main()
{
int b=3;
cout<<b<<" "<<a1::b<<" "<<a2::b<<endl;
return 0;
}
输出结果:3 1 2
分析:在这个程序中,使用了3个命名空间,std、a1和a2,在这三个命名空间中,定义了相同的变量b,但赋值不同,在输出时,限定不同的命名空间,输出结果不同,有效避免了重名的冲突。