1. 首页>精华知识 > 知识

什么是命名空间(为什么要使用命名空间)

作者:丁同
2019-05-13
知识

什么是命名空间?

为什么要写using namespace std;这句话呢

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

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

如程序:

#include<iostream>

using namespace std;

int main()

{

cout<<"Nice to meet you!"<<endl;

return 0;

}

「C++基础教学」什么是命名空间?你真的知道吗?

推荐一个我自己的C/C++交流群:815393895

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

第二种:

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

#include<iostream>

int main()

{

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

return 0;

}

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

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

#include<iostream>

using std::cout;

using std::endl;

int main()

{

cout<<"Nice to meet you!"<<endl;

return 0;

}

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

以上三种,大家用哪种都可以,为今后统一方便,我们教程中统一第一种写法。

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

推荐阅读
  • 描写人多的四字词语

    人山人海、比肩继踵、万人空巷、座无虚席、门庭若市、高朋满座、沸沸扬扬、热闹非凡、门庭若市、熙熙攘攘、车水马龙、人来人往、 济济一堂、摩肩接踵、.熙熙攘攘、 攘来熙往 熙来攘往 、比肩叠踵 、宾客如云、 驾肩…

    知识 2024-05-18
  • 毫升和斤怎样换算

    毫升是体积单位,斤是质量单位,不能换算。根据物质密度不同,换算比例不同。对于水来说,一斤等于500毫升…

    知识 2024-05-18
  • 泡沫之夏第三部小说的结局是什么啊

    夏沫与欧辰一起,还有了个孩子,夏沫弟弟死了,最后是夏沫和欧辰在一起了,不过洛熙也得到了从未有过的平静的内心,所以可以说是一个大团圆结局。明晓溪写了番外在仙度瑞拉,说夏沫生了一个儿子,叫做橙橙。夏沫因为…

    知识 2024-05-18
  • 什么软件的卫星地图最清晰最高看到人

    就目前而言,手机用卫星图较为清晰、能看到人的还是谷歌。有两种产品,一是手机版谷歌地球(Google Earth),打开后就是卫星图。二是手机版谷歌地图(Google Maps),既有卫星图,又有矢量图,还能导航。  国内的手…

    知识 2024-05-18
  • 在手机上正规赚钱方法(手机能赚钱的5

    一、众包类:按照任务操作,单价较低,做得越多,收入越多众包类项目是手机赚钱比较常见的类型之一,经常可以看到一些网友操作这类项目,譬如:众人帮、阿里众包、百度众包等,是业内较为知名的任务众包平台,每天都…

    头像 bianji123
    知识 2024-05-18