什么时候应该使用 using namespace xx?

2015-05-08 22:51:40 +08:00
 Axurez
2774 次点击
所在节点    问与答
11 条回复
czheo
2015-05-08 22:55:59 +08:00
Basically never.
abscon
2015-05-08 23:28:09 +08:00
@czheo 那可以用 using xx::yy 么?
Axurez
2015-05-08 23:47:25 +08:00
@czheo 我也感觉是 never,但是又很好奇这玩意儿实现出来干嘛。。
yangff
2015-05-08 23:52:52 +08:00
.cpp文件里
czheo
2015-05-09 05:33:17 +08:00
@abscon never
czheo
2015-05-09 05:34:44 +08:00
@Axurez 你写一些dirty but quick code的时候可以用
abscon
2015-05-09 09:09:26 +08:00
@czheo 所以 namespace 对你而言是多余的,不过是 XX_的另一种写法。那么现在问题就来了,很多语言的作者都引入了 namespace,他们集体犯傻了吗?
czheo
2015-05-09 09:16:23 +08:00
@abscon
不好意思。你说的是“可以”用using么。应该说是可以,每个程序员都有自己的风格。dirty and fast没什么不好的。

lz问的是“应该”用么,那就应该说“不应该用”。
http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice
czheo
2015-05-09 09:21:53 +08:00
不过stackoverflow里面几个回答也提到不是全局用的话,其实也可以。
wizardforcel
2015-05-09 11:46:15 +08:00
不在头文件里面用就好

其实c++不同namespace的名字冲突没那么频繁 c#里面都敢用了 c++里面有啥不敢的
msg7086
2015-05-09 12:46:03 +08:00
namespace是用来避免冲突的。
如果你拆分出来的cpp文件本身就不会有与std冲突的代码的话,直接引入std有什么问题?
using namespace 本来就是个语法糖。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/189614

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX