社区
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;?
...全文
873
6
打赏
收藏
为什么尽量不要使用using namespace std;
如题,最近在回顾C++ primer,发现给的编程题答案中没有使用using namespace std;的,都是用using std::cin; using std::vector;这种,以前习惯了用using namespace std;,我想问问为什么不使用using namespace std;?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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了,
详解:为什么
尽量
不要
使用
using
namespace
std
?
Q1:为什么我看到很多资料都写着能不用就不用,能在大括号里面用就
不要
在外面用。我刚刚开始学 c++ 所以不太明白。 A: 需要保证的是
尽量
不要
在头文件里
using
任何东西尤其是
namespace
,要不然 include 进来的...
为什么
尽量
不要
使用
using
namespace
std
?
c++中在
使用
using
namespace
std
时里面的名称不管需要与否,都导出名称空间中的所有名称,这是于名称空间的初衷背道而驰的,如果该名称与局部名称发生冲突,编译器将发出指示。
using
编译命令导入所有的名称,包括...
C++中为什么
尽量
不要
使用
using
namespace
std
;
一般说来,
使用
using
命令比
使用
using
编译命令更安全,这是由于它只导入了制定的名称。如果该名称与局部名称发生冲突,编译器将发出指示。
using
编译命令导入所有的名称,包括可能并不需要的名称。如果与局部名称发生...
C++中的
using
namespace
std
的作用
C++中的
using
namespace
std
的作用 所谓
namespace
,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为
std
的
namespace
中。 iostream和iostream.h的区别: 后缀为.h的头文件C++标注...
为什么要
使用
using
namespace
std
;
有些名字容易冲突,所以会
使用
命名空间的方式进行区分,具体来说...但是经常写全名会很繁琐,所以在没有冲突的情况下你可以偷懒,写一句
using
namespace
std
;,接下去的代码就可以不用写前缀直接写 vector 了。 ...
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章