当前位置 : IT培训网 > 常见问题 > 什么是命名空间 全解命名空间的定义

什么是命名空间 全解命名空间的定义

时间:2019-03-08 15:05:07  来源:编程网  作者:IT培训网  已有:名学员访问该课程
为什么要写using namespace std;这句话呢?这是C++新引入的一个机制,主要是为了解决多个模块间命名冲突的问题,就像现实生活中两个人重名一个道理。C++把相同的名字都放到不同的空间里,来防止名字的冲突。

什么是命名空间  全解命名空间的定义_www.itpxw.cn

什么是命名空间?

为什么要写using namespace std;这句话呢?这是C++新引入的一个机制,主要是为了解决多个模块间命名冲突的问题,就像现实生活中两个人重名一个道理。C++把相同的名字都放到不同的空间里,来防止名字的冲突。

例如标准C++库提供的对象都存放在std这个标准名字空中,比如cin、cout、endl,所以我们会看到在C++程序中都会有using namespace std;这句话了。

如程序:

#include

using namespace std;

int main()

{

cout<<"Nice to meet you!"<

return 0;

}

程序用到cout和endl则必须提前告知使用std这个命名空间,除此以外,还有另外两种写法:

第一种:

用域限定符::来逐个制定,刚才的代码还可以写成:

#include

int main()

{

std::cout<<"Nice to meet you!"<

return 0;

}

看到了吗,cout和endl前面分别用std::指明,表示来自std

第二种:用using和域限定符一起制定用哪些名字,如代码:

#include

using std::cout;

using std::endl;

int main()

{

cout<<"Nice to meet you!"<

return 0;

}

看到了吗?可以在前面先用using对具体的名字进行声明也可以。

值得一提的是,其实早期的C++标准是没有命名空间这个概念的,头文件包含也和C一样,都是带.h后缀的。只是新标准中使用不带.h的头文件包含时,必须要声明命名空间,并且包含头文件在前,声明使用的名字空间在后。

顶一下
(0)
0%
踩一下
(0)
0%

IT培训0元试听 每期开班座位有限.0元试听抢座开始! IT培训0元试听

  • 姓名 : *
  • 电话 : *
  • QQ : *
  • 留言 :
  • 验证码 : 看不清?点击更换请输入正确的验证码

在线咨询在线咨询

温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。

------分隔线----------------------------
------分隔线----------------------------

推荐内容

相关热点