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++如何防止重名问题名字空间的使用