其他人告诉我,使用名称空间std编写是错误的,我应该直接使用std::cout和std::cin
为什么使用名称空间std被认为是不好的做法?它是低效的还是有可能声明不明确的变量(与std命名空间中的函数同名的变量)?它会影响性能吗
这与性能完全无关。但是考虑一下:你使用的两个库叫做Foo和Bar:
使用名称空间foo;
使用名称空间栏;
一切正常,您可以从Foo调用Blah(),也可以从Bar调用qux()。但是有一天你升级到了新版本的Foo 2.0,它现在提供了一个名为qux()的函数。现在您遇到了一个冲突:Foo 2.0和Bar都将qux()导入到您的全局命名空间中。这需要一些努力才能解决,尤其是当函数参数恰好匹配时
如果您使用了foo::Blah()和bar::qux(),那么引入foo::qux()将不是一个事件