namespace用于对全局命名空间的再一次划分,namespace的声明及namespace中可以包含的内容。
namespace NAMESPACE
{
全局变量 int a;
函数 void function();
数据类型 struct Stu{};
其他命名空间 namespace
}
命名空间的使用方法
1.直接指定命名空间 NAMESPACE::x = 10;
2.使用using+命名空间+空间元素 using NAMESPACE::x; x = 10;
3.使用using+namespace+命名空间 using namespace NAMESPACE;
如:
namespace Space1
{
int i;
char c;
}
namespace Space2
{
int i;
char c;
}
//第一种
int main()
{
Space1::i = 10;
std::cout<<Space1::i<<std::endl;
}
//第二种
int main()
{
using Space1::i;
i = 20;std::cout<<i<<std::endl;
}
//第三种
int main()
{
using namespace Space1;i = 30;std::cout<<i<<std::endl;
}
下面介绍namespace的另一种使用
namespace Space{
int i;
}
namespace Space{
int j;
}
上面的命名空间会进行整合,相当于:
namespace Space{
int i;
int j;
}