C++的namespace 命名空间的作用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

独立团论坛:

教学内容:C语言,C++,C#,易语言,游戏辅助编程.

====================================================================== =======================================================

namespace 命名空间的作用:

前面我们学习了C++ 标准输入/输出流iostream 头文件里面的cout对象利用namespace 命名空间std 就可以不用每次在使用cout 和endl 前面加std::

那么namespace 命名空间的作用不仅仅是可以让cout 和endl 变得更简洁,

它真正的目地是为了避免和减少命名冲突,

当然我们写一个庞大的程序时候,难免会重名,特别是一个项目程序由多个人合作完成的情况下,

在C++还没诞生前,过去C语言中的解决方法是靠人为的注意,并且加长名字来避免程序中的各命名重名的问题,虽然这是解决命名重名问题的办法之一,

但这就无形中限制了程序员在写程序时,不能自由的命名自己使用的变量名或者函数名,所以显示了C语言的不足。

自从C++诞生后,可以通过命名空间解决这一问题,这就是C++引入命名空间这个概念的好处.

我来举个比较形象的例子:

有2个双胞胎兄弟,他们的小名:一个叫小李,一个叫小彬,爸爸给他们买了2本一样的数学书,为了区分这2本书,他们就要分别在自己的数学书上写上自己的名字,

这个比喻的道理就是告诉我们在调用cout对象时也要在前面写上所属的命名空间std::

虽然我们学会了在代码里加上using namespace std ,就使用cout对象时前面不需要加std:: 了,但是最好的方法就是不用using namespace std

而是用using std::cout ,这样可以避免命名重复的问题,

这是因为不同的名字在不同的命名空间内,将他们都释放出来时,如果不小心就会造成使用了不该使用的库中的同名函数或同名对象。

相关文档
最新文档