推扬网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
推扬网 › 门户 ›互联网动态 › 查看内容

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

2020-5-2 15:55| 发布者: admin| 查看: 98| 评论: 0

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

什么是命名空间?

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

 


鲜花

握手

雷人

路过

鸡蛋

最新评论

推荐阅读
精彩推荐

广告服务|投稿要求|禁言标准|版权说明|免责声明|手机版|小黑屋|推扬网 ( 粤ICP备18134897号 )|网站地图 | 邮箱:vayae@hotmail.com

GMT+8, 2026-11-10 20:27 , Processed in 0.116101 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部