为什么说不要在项目中使用using namespace std这种写法?

有人说不要在项目中使用using namespace std,比如使用标准库中的cout或者cin的时候,最好带上命名空间,std::cout或者std::cin,这是为什么呢?

c++namespacestd
1
212
已修改
小课
小课2022-05-29 14:38
1 个回答

因为using namespace xxx这种使用方式容易造成方法冲突,比如说你项目引用了两个库foo和bar。

using namespace foo;
using namespace bar;

foo库中有一个方法blah(),bar库中有一个方法quux(),刚开始的时候一切都是正常的,但是后期升级foo库后,它内部新增了一个方法quux(),它与bar库中的quux()存在冲突导致编译失败,我们就需要改成使用命名空间限定符这种方式来调用,foo::quux()bar::quux()之间就不会存在冲突,如果项目中使用foo和bar库的地方比较多改起来就会很麻烦,所以建议一开始就不要用using namespace xxx这种方式。

2
小课
小课2022-05-29 15:21
你的回答

内容