命名空间简介
- 命名空间就是为了防止名字冲突而引入的一种机制,系统中可以定义多个命名空间,每个命名空间有自己的名字,不可以同名。在不同命名空间里定义的函数或者,即便同名了也互不影响。
- 命名空间的定义:
namespace zhangsan
{
void radius()
{
cout<<"张三的radius"<<endl;
}
}
namespace lisi()
{
void raidus()
{
cout<<"李四的radius"<<endl;
}
}
- 命名空间可以不连续,甚至可以写在多个文件中,如果以往没有定义命名空间,那么namespace相当于定义了一个命名空间;如果你已经定义了这个命名空间,那么namespace相当与打开已经存在的命名空间并为其添加新成员的声明。
- 外界访问某个命名空间:
//命名空间名::函数名
int main()
{
zhangsan::radius();
lisi::radius();
}
如果在主函数外声明了:using namespace zhangsan;这个命名空间,那么在调用时可以不用加作用域直接调用了radius()。