using namespace std;
到目前为止,在我的计算机科学课程中,这是我们被告知要做的所有事情。不仅如此,否则我们的代码会受到惩罚,这也是我们被允许做的所有事情。通过查看在线发布的代码,我了解到您可以使用::std或std::来实现相同的功能。
我的问题通常是为什么?显然,为了学习者和简单起见,使用全局声明更简单,但是有什么缺点吗?在真实世界的应用程序中,使用::std更加现实吗?我想补充一下,使用声明背后的逻辑/概念是什么?在我的课程中没有解释过这些,我想更好地掌握它们。
作为一个普遍的问题:如果我没有学习这些内容,如向量、模板、类或错误处理,那么似乎我错过了很多必要的C++功能?
提前感谢!
using namespace std;
,导致了意想不到的后果,可以在这里看到。值得一读。 - WhozCraigusing namespace ...
是我个人认为的不良实践,可能会导致许多微妙且难以发现的错误。它绕过了引入命名空间的整个原因。尽管如此,当其范围受到限制(通过命名空间或本地作用域)时,using namespace ...
也有适当的用途。即便如此,std
命名空间非常庞大,包含许多常见符号,因此我总是避免使用using namespace std
。另请参阅:C++ FAQ - Galikusing
关键字可能会引起很多问题;我尽量不使用它(这意味着在大多数情况下代码非常冗长)。 - Qix - MONICA WAS MISTREATED