proxytoworld
2023-10-07 18:31:13 +08:00
有几个主要的原因不推荐在 C++中使用 using namespace std:
它可能导致命名冲突(name collisions)
使用 using namespace std 会将 std 命名空间中的所有名称引入当前的命名空间。如果 std 中与你自己的代码中的名称相同,就会导致命名冲突和难以发现的错误。
它污染了命名空间(namespace pollution)
Bringing in all names from std leads to namespace pollution. It becomes less clear which names are defined by your code vs the standard library.
它降低了代码可读性
使用 using namespace std 会让你的代码依赖于一个外部的全局命名空间。这让人无法一眼明白代码中哪些名称是从 std 命名空间来的。
使用命名空间的名字(std::)可以清晰显示出所使用的组件
通过使用命名空间前缀(std::)可以让读代码的人一眼看出你正在使用标准库的组件,增加代码清晰性