1. 命名空间

  • 用于解决命名冲突的问题
  • 里面可以放函数、变量、结构体、类
  • 可以嵌套
  • 必须定义在全局作用域下
  • 是开放的,可以随时往原先的命名空间中追加内容,而不是覆盖
  • 实现命名空间下的函数和调用时,需要使用作用域运算符xxx::
  • 也可以使用无名/匿名命名空间,相当于和static一样是静态元素,也就是说只能在当前文件中使用
  • 可以起别名:namespace ns2 = ns1;然后就可以使用ns2了
  • 和头文件、源文件的对比
    • 命名空间是逻辑组织。使用using namespace xxx进行引用
    • 头文件和源文件,是物理组织。使用#include "xxx.h"进行引用
05-16 03:52