命名空间

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()

	函数功能;
// 命名空间外实现

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

4.3 命名空间和程序集

WSDL 能否指示 Web 服务的 SOAP 版本(1.1 或 1.2)?

C++ Primer 5th笔记(chap 18 大型程序工具)使用命名空间成员

devc++格式为啥那么丑

20180724 (面向对象:类的命名空间和查询顺序丶组合)

C++ Primer 5th笔记(chap 18 大型程序工具) 重载与命名空间