c++如何防止重名问题名字空间的使用

c++使用名字空间避免重名冲突问题,也就是使用namespace名字空间。源代码如下:

#include<iostream>
namespace a
{
int f=8;
}
namespace b
{
int f=10;
}

int main(){
std::cout<<”输出名字空间a,b中f的值\t”<<a::f<<”\t”<<b::f<<std::endl;;
return 0;
}

以上防止重名的名字空间源码使用了名字空间a和b,同时定义了变量f,调用同名的变量f时需要声明f所在的名字空间,从而防止了名字冲突问题。另外请看以下是名字冲突的例子源码:

#include<iostream>
namespace a
{
int f=8;
}
namespace b
{
int f=10;
}

int main(){

using namespace a;

using namespace b;
std::cout<<”输出名字空间中f的值\t”<<f<<std::endl;;
return 0;
}

名字空间a与b同时释放,因为名字f冲突会出现,error C2872: ‘f’ : ambiguous symbol的错误。

  本文链接地址: c++如何防止重名问题名字空间的使用