在编写程序期间,“名称”(name)可以是符号常量、变量、函数、结构、枚举、类、对象等。工程越大,名字相互冲突的可能性越大。使用多个供应商的额外类库可能会导致名称冲突。标准C通过引入namespace(命名空间/命名空间/命名空间)关键字,可以更好地控制标识符的范围,以避免大型程序设计和程序员在使用各种C库时发生这些标识符的命名冲突。
例如,在C语言中,您可以通过static限制只能在当前编译单元中查看名称,在C中,您可以通过namespace控制对名称的访问。
1.namespace语法
1.在namespace中,可以定义常量、变量、函数、结构、枚举、类等
2.namespace只能全局定义。
3.namespace支持嵌套定义。
4.namespace已打开,您可以随时添加新成员。
5.namespace关键字可以为现有空间名称添加别名
6.未命名的命名空间意味着命名空间中的符号只能从这个文件中访问,相当于给符号添加了静态修饰。
1.1 namespace中可以包含的成员
1.2 namespace只能全局定义
1.3 namespace支持嵌套定义
子名称空间my_sub_space可以嵌套在名称空间my_space中。
1.4 namespace处于打开状态,您可以随时添加成员
1.5为namespace现有空间名称创建别名
1.6 namespace匿名命名空间
未命名的命名空间表示命名空间中的符号只能从此文件中访问。这相当于向符号添加静态修饰,并且只能在当前文件中访问。
2。使用namespace中间符号
使用命名空间中定义的符号有三种方法。
1.通过namespace范围直接访问
2.using声明指定符号显示在范围之下
3.using编译指令指定名称空间中的所有符号都显示在范围之下
2.1直接存取
2.2 using声明
Using声明指定符号显示在范围之下。例如:
2.3 using编译命令
Using编译指令指定名称空间中的所有符号都显示在范围之下。