命名空间的定义使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的
注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中
// 1. 普通的命名空间
namespace qjh // 以qjh命名的命名空间
{
// 命名空间中的内容 可以定义变量,也可以定义函数
int rand = 10;
int Add(int a, int b)
{
return a + b;
}
}// 命名空间一定是全局的
// 2. 命名空间可以嵌套
namespace qjh_1
{
int a = 0;
namespace qjh_2
{
int b = 3;
}
}
// 3. 同一个工程中允许存在多个名字相同的命名空间,最后编译器会合并成一个命名空间当中
namespace qjh
{
int Mul(int a, int b)
{
return a * b;
}
}
命名空间的使用
using namespace std; // 将整个命名空间的名称引入 // 相当于将整个命名空间展开,相当于把框去掉了 //虽然这样再使用的时候方便了许多,但之前命名空间防止命名冲突的功能也就不存在了 using std::cout; // 将命名空间的中的某一个名称引入



