社区
C++ 语言
帖子详情
为什么尽量不要使用using namespace std;
煮茶听雪
2015-10-29 10:33:53
如题,最近在回顾C++ primer,发现给的编程题答案中没有使用using namespace std;的,都是用using std::cin; using std::vector;这种,以前习惯了用using namespace std;,我想问问为什么不使用using namespace std;?
...全文
950
6
打赏
收藏
为什么尽量不要使用using namespace std;
如题,最近在回顾C++ primer,发现给的编程题答案中没有使用using namespace std;的,都是用using std::cin; using std::vector;这种,以前习惯了用using namespace std;,我想问问为什么不使用using namespace std;?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
paschen
版主
2015-10-29
打赏
举报
回复
如果用了using namespace std; std名字空间下的所有变量、函数、类等都可以不加std::修饰而直接使用,在一些大的项目中很容易造成和其他的名字冲突,同时容易引起错误,小项目你可能感觉不出来,但这种习惯其实不好,而且也就失去了名字空间本身的意义了
lm_whales
2015-10-29
打赏
举报
回复
听说怕名字冲突
yshuise
2015-10-29
打赏
举报
回复
你定义的变量、函数、类,还有其他库,会同stl重名就麻烦了。
fefe82
2015-10-29
打赏
举报
回复
前一阵子还在 csdn 上看到一个 using namespace std; 之后, 自己定义的 ::advance() 跟 std::advance() 进行 overload resolution。 作者本意是使用 ::advance() ,结果 overload resolution 解析到了 std::advance() 这种情况最悲剧了,不容易查错。
勤奋的小游侠
2015-10-29
打赏
举报
回复
用到什么就声明什么,这只是原则性问题。 就像头文件,你没用到的头文件也能包含进去,但是没有必要。只会增加编译器的工作量。
jian_vv
2015-10-29
打赏
举报
回复
std是个很大的库,如果你项目中引用了其他的库而且也写了using namespace std,很容易造成命名冲突(就是类重名) 其实一般using namespace std是没关系的,大家都是向标准库看齐的,很少重名。 一般在一个顶层项目中使用了多个库,如果一个库是最主要的库,其实给它using namespace也是关系不大的,例如你有一个游戏项目使用了ogre库,cegui,ois,那么using namespace ogre也没关系,但是另外两个库就不要 using namespace了, 另外头文件不要写using namespace,因为这样写的话包含这个头文件的所有文件都会using namespace了,
【C++】 为什么建议代码
尽量
不要
使用
using
namespace
std
using
namespace
std
; 首先我们要知道,这句代码的意思是:打开
std
的标准命名空间。 在
std
标准空间里,包含了原来的库和头文件。但是在C++ 中因为要
使用
的STL中有部分名称是没有加下划线的保留标记的,而这些名称如果再用在自己的源代码中会引发未定义的后果。 它们提供的内容和相应的旧的C头文件相同,只是内容在
std
中,所以当我们在写成熟的代码的时候,一般不建议将标准命名空...
为什么不
使用
using
namespace
std
in C++【C++学习笔记】
60.为什么不
使用
using
namespace
std
in C++ 🍅1.不容易分辨各类函数的来源 比如我在一个自己的库里定义了一个vector,而标准库里又有一个vector,那么如果用了
using
namespace
std
后,所用的vector到底是哪里的vector呢?
std
::vector<int>vec1; //good DiyClass::vector<int>vec2 //good
using
namespace
std
;
using
namespace
D
C++中
using
namespace
std
的作用记录
在C++中,标识符被组织在不同的命名空间中,以避免命名冲突。最常见的命名空间是
std
,它包含了C++标准库中的所有标识符,如cout、vector、string等。主要用于源文件中,以简化代码,但在模块或库的接口头文件中还是建议
使用
std
::,或
使用
using
仅引入需要的标识符。需要注意的是,
using
namespace
可能会引起命名冲突,污染命名空间,不建议在头文件中
使用
。这句代码的作用是引入
std
命名空间,使得程序可以直接
使用
std
命名空间下的标识符,而不需要加上
std
::前缀。
【C++】fstream 读文件基本用法 以及
不要
使用
using
namespace
std
不要
使用
using
namespace
std
; fstream 打开、读取文件的基本方法。
Cracking C++(4):头文件不能
使用
using
namespace
std
吗?
讨论在C++头文件中
使用
using
namespace
的合适方式。
C++ 语言
65,209
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章