命名空间

Posted 木杉乀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了命名空间相关的知识,希望对你有一定的参考价值。

c++基础_命名空间namespace

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

命名空间的定义:
namespace 命名空间标识符
    {
 ...命名空间成员(普通变量成员,函数成员,类成员...)
    }

注意:

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

命名空间的访问

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

命名空间取别名:

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

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

namespace A
{
	void fun();
}// 声明

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

以上是关于命名空间的主要内容,如果未能解决你的问题,请参考以下文章

模棱两可的类命名空间问题

如何在C ++中将枚举导入不同的命名空间?

为什么原始数据类型在不包含System命名空间的情况下工作

有没有办法关闭代码片段中的命名建议?

XML 属性未获取命名空间前缀

如何处理XML命名空间