命名空间

2021-05-06 10:25:07 浏览数 (1)

c 基础_命名空间namespace

  1. 命名空间是用来组织和重用代码的编译单元
  2. 在编写代码时写的程序不可能所有的标识符都没有重名现象, 在多人协作开发时更加不可控, 尤其对于库来说问题更加严重. 为了解决重名现象, 通过命名空间来避免冲突!

命名空间的定义:
代码语言:javascript复制
namespace 命名空间标识符
    {
 ...命名空间成员(普通变量成员,函数成员,类成员...)
    }

注意:

  1. 命名空间标识符必须满足标识符命名规则和命名规范, 习惯名字唯一, 通常以开发团队的名字(项目名) 来命名.
  2. 命名空间可以在全局, 也可以在局部(命名空间接受嵌套定义), 但不能在函数内和类中定义
  3. 命名空间的花括号是作用域
  4. 注意命名污染, 尽量避免同名出现, 如果两个命名空间同名就会合并两个命名空间

命名空间的访问

代码语言:javascript复制
作用域运算符 " :: "
  1. using 声明: using 命名空间名 :: 空间成员名;
  2. using 指示: using namespace 命名空间名;
  3. 命名空间名 :: 空间成员名, 直接访问空间下的某一个成员

命名空间取别名:

  1. namespace 别名 = 命名空间名
  2. 当命名空间标识符过长或不太方便记忆, 可通过取别名的方式来表示该命名空间, 别名的操作等价于原命名空间

命名空间成员的声明及其定义:

代码语言:javascript复制
namespace A
{
	void fun();
}// 声明

void fun()
{
	函数功能;
}// 命名空间外实现

0 人点赞