c 基础_命名空间namespace
- 命名空间是用来组织和重用代码的编译单元
- 在编写代码时写的程序不可能所有的标识符都没有重名现象, 在多人协作开发时更加不可控, 尤其对于库来说问题更加严重. 为了解决重名现象, 通过命名空间来避免冲突!
命名空间的定义:
代码语言:javascript复制namespace 命名空间标识符
{
...命名空间成员(普通变量成员,函数成员,类成员...)
}
注意:
- 命名空间标识符必须满足标识符命名规则和命名规范, 习惯名字唯一, 通常以开发团队的名字(项目名) 来命名.
- 命名空间可以在全局, 也可以在局部(命名空间接受嵌套定义), 但不能在函数内和类中定义
- 命名空间的花括号是作用域
- 注意命名污染, 尽量避免同名出现, 如果两个命名空间同名就会合并两个命名空间
命名空间的访问
代码语言:javascript复制作用域运算符 " :: "
- using 声明: using 命名空间名 :: 空间成员名;
- using 指示: using namespace 命名空间名;
- 命名空间名 :: 空间成员名, 直接访问空间下的某一个成员
命名空间取别名:
- namespace 别名 = 命名空间名
- 当命名空间标识符过长或不太方便记忆, 可通过取别名的方式来表示该命名空间, 别名的操作等价于原命名空间
命名空间成员的声明及其定义:
代码语言:javascript复制namespace A
{
void fun();
}// 声明
void fun()
{
函数功能;
}// 命名空间外实现