namespace:命名空间为了大型项目开发,而引入的一种避免命名冲突的一种机制。比如说,在一个大型项目中,要用到多家软件开发商提供的类库。在事先没有约定的情况下,两套类库可能存在同名的函数或是全局变量而产生冲突。项目越大,用到的类库越多,开发人员越多,这种冲突就越明显。
//::作用域运算符,前面命名空间
int v = 55;
int main()
{
int v = 5;
cout<<v<<endl;
cout<<::v<<endl;
}
全局无名命名空间
局部
namespace是对全局命名空间的再次划分
命名空间的key word namespace 空间名
namespace Space{
int x;
struct stu{
int a;
int b;
}stu;
void func
{
}
name space ...{}
}
//使用namespace
int main()
{
Space::x = 200;
using Space::x; //打通一个namespace的通道
using namespace Space; //全部打包
}
最常见的命名空间的使用
using namespace std;
一个命名空间是可以嵌套另一个命名空间的,一般也不会使用嵌套