命名空间
namespace
是指标识符的各种可见范围,在写大程序时,不同程序员在使用标识符时,可能会出现名字重叠冲突现象,为此C++中引入了命名空间概念,将相同的名字放在不同的名字空间中,就可以避免同名冲突
命名空间使用方法
1 using namespace std————此方法在后面没有特殊声明均表示名字来自空间std
2 使用“::”域运算符
空间名::名字,如std::cout<<“hello”–表明此处的标识符来自命名空间std
3 使用using和域运算符
如using std :: cout<<“Hello”;
- 命名空间自定义
关键词:namespace
语法:namespace 空间名
例如:
#include<iostream>
using namespace std;//使用标准命名空间
namespace namespace1
{
int a =100;
}
namespace namespace2
{
int a = 200
}
void main()
{
int a=300;
cout<<"namespace1:a="<<namespace1::a<<endl;
cout<<"namespace2:a="<<namespace2::a<<endl;
cout<<"main:a="<<a<<endl;
}
如上方法,a进行了两次再定义,但是由于在不同命名空间内,编译能够通过
- 嵌套定义名字空间
例:
namespace HelloWorld
{namespace Hello
{
void foo()
{count <<"Hello" ; }
}
void fooo()
{Hello::foo();
cout<<" World ! "<<endl;}
}
void main()
{
HelloWorld::fooo();
}