命名空间
namespace
使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,
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;
// 将命名空间的中的某一个名称引入