很早之前就接触了namespace这样一个概念,当然也是有自己的几点理解的,最近在上C++的课,老师提到了这样一个概念,很多同学对这样一个东东不是很理解,我在这里谈谈自己的几点见解
如同名字一样的意思,namespace:命名空间,之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了,为了解决这个问题,引入了名字空间这个概念,通过使用using namespace xxx;你所使用的库函数或变量就是在该名字空间中定义的.这样一来就不会引起不必要的冲突了.
对于懂JAVA的人而言,namespace这个东东就相当于JAVA里面的package,用来你在惟一标识你在package里面所建的类,在同一个package里面的类的名字是不能重复的,但在不同package里面是可以的,那么调用的时候只要通过对应的package就能把他们区分开来,就比如有两个寝室的人叫一样的名字,但寝室的编号不一样,我们就可以通过寝室号来区分他们,叫人的时候加上寝室号就不会叫错人.
而对于C#里面也同样有namespace这要一个概念;它和C++一样。
至于它的作用呢前面也提到了,如果一个项目多个人开发,那么就有可能开发人员之间所写的类的名字重复;有了namespace和package这样一东东;就不会有问题啦;这也只是个人的一点见解,还望指教
分享到:
相关推荐
关于QT中用到的namespace的解释,看完这篇解释,相信你会对QT中为什么多处用到namespace能有较深入的理解!
using namespace是使用命名空间 C++
Namespace 命名空间Namespace 命名空间Namespace 命名空间Namespace 命名空间Namespace 命名空间
C++中 namespace介绍 非常有用的东西
C++ namespace 使用方法:把位于不同.cpp文件的变量打包在一个namespace下,在主函数中使用Namespace里面定义的变量。 使用方法:把下载的压缩文件解压到一个目录下
visual c++ namespace命名空间 用法
本例主要解释了为什么不用using namespace std;,因为如果这么使用了,在其它地方如果用到了标准库中的标识符(那么多标识符,不能保证都记住),就会报错,如果程序工程很复杂,可能会查找冲突很麻烦,因此在实际...
前端开源库-solid-namespace实体命名空间,实体项目中使用的公共RDF命名空间的集合
JAXB Demo及namespace的prefix自定义解决方案
主要是讲的作用域,namespace,生命周期,生成期
VC++标准库函数,可以加载 免安装版的sing namespace std;//C++ 标准库函数,
深入剖析c/c++ namespace!变量作用域,紧紧适合初学着,有源码,有word文档!
演示MS Namespace Shell Extension 创建虚拟目录和次目录的实作范例, 并且增加了新增次目录或档案与删除次目录或档案的演示
Docker底层服务之NameSpace、Cgroup、存储、网络Docker底层服务之NameSpace、Cgroup、存储、网络Docker底层服务之NameSpace、Cgroup、存储、网络Docker底层服务之NameSpace、Cgroup、存储、网络Docker底层服务之...
讲述Qt命名空间怎么用,文章地址:https://lizhifun.blog.csdn.net/article/details/112584777
Namespace extensions - the undocumented Windows Shell(13KB)
redis-namespace, 这个 gem 添加了一个 Redis 的redis命名空间Redis::Namespace 为你的redis keyspace ( 。比如,具有共同开始的键)的名称空间子集提供了接口,并且需要 redis 。require 'redis-namespace'# =
以前学习struts2时候,自己练习的代码,可以供初学者参考学习
使用include 时一定要加using namespace std
C++ using namespace std 详解 C++ using namespace std 详解 C++ using namespace std 详解 C++ using namespace std 详解 C++ using namespace std 详解