社区
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;?
...全文
947
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了,
为什么
尽量
不要
使用
using
namespace
std
?
增加了命名冲突的可能性。 例如,以下代码: :cat main.cc /// @file main.cc #include <c
std
io> #include <algorithm>
using
namespace
std
; int max = 0; int main() { printf("%d\n", max); return 0; } 就会报编译错误: :g+...
为什么初学C++时,都会看见开头加上
using
namespace
std
为什么初学C++时,都会看见开头加上
using
namespace
std
尽量
不要
使用
using
namespace
std
C++标准程序库中的所有标识符都被定义于一个名为
std
的
namespace
中。
namespace
是指标识符的各种可见范围。命名空间用关键字
namespace
来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。 此标识符作为此组群的名字。 如果我们
使用
了
using
namespace
std
,而且我们在自己的程序中定义了一个函数toup...
避免
使用
using
namespace
std
;的原因详解
在这里,我毫不回避地说了这句话: 引用 我再也不想在任何头文件中看到“
using
namespace
xxx;”了 作为一个开发者/团队领导者,我经常会去招聘新的项目成员,有时候也帮助其他组的人来面试应聘者。作为应聘流程之一,我经常要求应聘者写一些代码,因此我检查过相当多的代码。在最近提交的C++代码中,我注意到一个趋势,在任何头文件中,我总是能看到以下代码: C++代码
using
namesp...
C++中
using
namespace
std
命名空间的理解
在C++中,变量和函数的作用范围是有一定限制的,比如在函数体中定义的临时变量就不可以在函数体外
使用
。为了解决变量和函数的作用范围,C++引入了命名空间的概念;增加了关键字
namespace
和
using
,
std
就是标准程序库所在命名空间(
namespace
)的名称,
using
namespace
std
就是
使用
标准库的意思。 在一个
namespace
中可以定义一组变量和函数,这些变量和函数...
C++ 语言
65,207
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章