为了避免变量、函数、类、结构体等重命名,我们可以使用命名空间。
简单的用例
//定义命名空间
namespace name{
//代码声明
}
//使用命名空间,code为name命名空间中的成员
name::code
using指令
使用 using namespace 指令后,在使用命名空间成员时,就可以不在成员前面加上命名空间的名称。这个指令会告诉编译器,后续的代码将使用指定的命名空间中的名称。
using 指令也可以用来指定命名空间中的特定成员。例如,如果您只打算使用 std 命名空间中的 cout 部分,您可以使用如下的语句:
using std::cout;
随后的代码中,在使用 cout 时,就可以不用加上命名空间名称作为前缀。但是 std 命名空间中的其他成员,仍然需要加上命名空间名称作为前缀。
其它
不同文件的命名空间名可以相同。
命名空间可以嵌套,可以在一个命名空间中定义另一个命名空间。