在 C++ 中,为什么“using namespace std”被认为是不良做法
C++ 有一个标准库,其中包含在构建应用程序时使用的常用功能,例如容器、算法等。如果这些库中使用的名称是开放的,例如如果它们在全局范围内定义队列类,那么你将无法再使用此名称而不发生冲突。因此,它们创建了一个命名空间 std 来包含此更改。
using namespace 语句仅仅意味着在它所在的范围内,直接调用 std 命名空间下的所有函数而不必在每个函数前面加上 std:: 前缀。
虽然此方法对于示例代码来说是可以的,但将整个 std 命名空间引入全局命名空间并不是一个好方法,因为它破坏了命名空间的目的,并且会导致名称冲突。这种情况被称为命名空间污染。
广告