我知道之前已经提出了一个非常相似的问题,"using namespace" in c++ headers,但是我的问题是在命名空间内部。
namespace foo {
using namespace std; // what does this do?
class Bar { ... }
}
这是否与其他问题完全相同,只是在所有地方使用声明?它只在该命名空间中执行吗?它只在标题中执行吗?
答案 0 :(得分:8)
有两点不同:
using
仅适用于foo
命名空间内的代码。但这意味着所有foo
代码都会看到此标题,因此您可能仍然不想这样做。foo::std
存在,嵌套的using
语句将优先于::std
。