物联网
您现在所在的位置:首页>企业动态>物联网

什么是命名空间,C++的命名空间是什么?

编辑:学到牛牛IT培训    发布日期: 2022-01-11 14:48:45  

什么是命名空间?为什么要写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;
}

程序用到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的头文件包含时,必须要声明命名空间,并且包含头文件在前,声明使用的名字空间在后。

免费试学
课程好不好,不如实地听一听

封闭学习

2

1

联系我们

电话:028-61775817

邮箱:1572396657@qq.com

地址:成都高新西区西芯大道4号

  • 学到牛牛在线咨询

    扫一扫,免费咨询

  • 学到牛牛公众号

    微信公众号

学一流技术,找高薪工作

7-24小时服务热线:

028-61775817

版权声明 网站地图

蜀ICP备2021001672号

课程问题轻松问