命名空间是ANSI C++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。
使用命名空间成员的方法:
- 命名空间名::命名空间成员名 (ns1::a)
- 使用命名空间别名
- 使用using命名空间成员名 (using声明的有效范围是从using语句开始到using所在的作用域结束。using ns1::Student;)
注:同一作用域中using声明的不同命名空间的成员不能有同名的成员。
- 使用using namespace 命名空间名 (using namespace std;)
对于无名的命名空间,它只在本文件的作用域内有效。
由于命名空间std中定义的实体太多,程序员不清楚哪些标识符已经在std中定义过,为了减少出错,有些人用 using 命名空间成员名(using std::cin; using std::cout..)来代替 using namespace 命名空间(using namespace std;)