命名空间是用来组织和重用代码的编译单元
在编写代码时写的程序不可能所有的标识符都没有重名现象,在多人协作开发时更加不可控,尤其对于库来说问题更加严重。为了解决重名现象,通过命名空间来避免冲突。
命名空间用于帮助实现代码的管理(代码的封装)
定义:
c++
namespace 命名空间名
{
命名空间成员
}
作用域访问符:::
命名空间的访问
(1)using声明:开放单个成员的访问权限
基本格式:using 命名空间名::空间成员名;
(2)using指示:开放某个命名空间中所有的成员的访问权限
基本格式:using namespace 命名空间名;
(3)命名空间名称访问:直接使用命名空间名称访问其中的成员,不会开放命名空间权限
基本格式:命名空间名::空间成员名;
给命名空间取别名:namespace 别名=命名空间名
使用命名空间的注意事项
- 命名空间中一般不写变量等带内存的东西
- 命名空间一般写在头文件中,用于数据类型的声明和功能函数的声明,函数实现还是写在源文件中(命名空间一般分文件编写)
- 如果两个命名空间重名,那么就会合并两个命名空间
- 命名空间中可以有命名空间(命名空间的嵌套)