别人告诉我写 using namespace std;
在代码中是错误的,我应该使用 std::cout
和 std::cin
直接代替。
为什么是 using namespace std;
被认为是一种不好的做法?它是低效的还是有风险声明不明确的变量(与 std
命名空间中的函数同名的变量)?它会影响性能吗?
最佳答案
这与性能完全无关。但请考虑一下:您正在使用两个名为 Foo 和 Bar 的库:
using namespace foo;
using namespace bar;
一切正常,您可以调用
Blah()
来自 Foo 和 Quux()
从酒吧没有问题。但是有一天你升级到新版本的 Foo 2.0,它现在提供了一个名为 Quux()
的功能。 .现在你有一个冲突:Foo 2.0 和 Bar import Quux()
进入您的全局命名空间。这将需要一些努力来解决,特别是如果函数参数碰巧匹配。如果您使用过
foo::Blah()
和 bar::Quux()
,然后介绍foo::Quux()
本来是一个非事件。
关于c++ - 为什么 "using namespace std;"被认为是不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63684944/