命名空间:
(1)命名空间就是为了防止名字冲突而引入的一种机制。系统我们可以定义多个命名空间,每个命名空间都可以有自己的名字,但不可以同名,可以把命名空间理解成一个作用域。
namespace zhangsan { // 定义一个命名空间
void radius() {
std::cout << "zhangsan" << "\n";
}
}
namespace lishi {
void radius() {
std::cout << "lishi" << "\n";
}
}
上面我们就定义了zhangsan和lishi这两个命名空间,如果不定义命名空间,两个函数名相同且包含的参数的个数和类型也相同的函数出现在同一个文件中,编译器就会报错。
(2)命名空间的定义可以不连续,甚至可以写在多个文件里,如果你以往没有定义这个命名空间,那么"namespace 命名空间名" 这种写法就相当于定义了一个命名空间如果已经定义了这个命名空间,这种写法就相当于打开已经存在的命名空间并为其添加成员声明。
(3)外界访问某个命名空间中的函数采用::进行访问
格式:命名空间名::函数名
(4)using namespace 命名空间名:这表示使用这个命名空间。