命名空间

转载 2012年03月30日 17:36:51

搞不明白,那么简单的东西,一帮人搞得那么复杂。个人觉得有点像类     又有点像   头文件  

命名空间英语Namespace)表示标识符(identifier)的上下文(context)。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其它命名空间中。

例如,设Bill是X公司的员工,工号为123,而John是Y公司的员工,工号也是123。由于两人在不同的公司工作,可以使用相同的工号来标识而不会造成混乱,这里每个公司就表示一个独立的命名空间。如果两人在同一家公司工作,其工号就不能相同了,否则在支付工资时便会发生混乱。

这一特点是使用命名空间的主要理由。在大型的计算机程序文档中,往往会出现数百或数千个标识符。命名空间(或类似的方法,见“命名空间的模拟”一节)提供一隱藏區域標識符的機制。通过将逻辑上相关的标识符组织成相应的命名空间,可使整个系统更加模块化

编程语言中,命名空间是一种特殊的作用域,它包含了处于该作用域内的标识符,且本身也用一个标识符来表示,这样便将一系列在逻辑上相关的标识符用一个标识符组织了起来。许多现代编程语言都支持命名空间。在一些编程语言(例如C++Python)中,命名空间本身的标识符也属于一个外层的命名空间,也即命名空间可以嵌套,构成一个命名空间,树根则是无名的全局名空间

函数的作用域可被視作隱式命名空间,它們和可見性、可訪問性和对象生命周期不可分割的联系在一起。


使用方法有以下三种: 
1>   using   namespace   sdm; 
然后你就可以使用变量temp: 
temp=9; 
还可以使用sdm中的其他每一个成员。 
2> using   sdm::temp; 
在这个文件中只能使用sdm中的temp这个变量。 
3> 你在使用时直接使用sdm::temp: 
cout < <sdm::temp < <endl; 
使用其它的成员也这样调用。 


相关文章推荐

x命名空间学习代码

  • 2014年02月18日 22:09
  • 118KB
  • 下载

Namespace 命名空间

  • 2011年10月25日 15:04
  • 3.65MB
  • 下载

93. php 命名空间(3)

1.注明: 本文提到的常量:PHP5.3开始const关键字可以用在类的外部。const和define都是用来声明常量的(它们的区别不详述),但是在命名空间里,define的作用是全局的,而const...
  • enlyhua
  • enlyhua
  • 2016年01月24日 22:05
  • 239

spring各种命名空间实例

  • 2010年07月18日 08:49
  • 302KB
  • 下载

C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型(下)

Technorati 标签: C,标识符,作用域,命名空间,链接属性,生命周期,存储类型,scope,name space,linkage,storage durations,lifetime 3....

.net命名空间解释列表

  • 2010年04月19日 10:46
  • 51KB
  • 下载

.NET2.0类库的命名空间名称

  • 2008年05月20日 19:05
  • 38KB
  • 下载

C++之using namespace std 详解与命名空间的使用

所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 一 : iostream>和iostream.h>是不一样,前者没...

System.Windows.Forms命名空间代码

  • 2008年01月15日 16:44
  • 2.19MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:命名空间
举报原因:
原因补充:

(最多只允许输入30个字)