在 namspace 的标头中"using namespace"
"using namespace" in header in namspace
我知道以前有人问过一个非常相似的问题,"使用名称空间";在c++标头中,但我的是当它在命名空间内部时。
namespace foo {
using namespace std; // what does this do?
class Bar { ... }
}
这是否和另一个问题所说的完全一样,只是在所有地方都包含了使用语句?它只在那个命名空间中执行吗?它只在那个标题中执行吗?
有两个区别:
- 是的,
using
将仅应用于foo
命名空间内的代码。但这意味着所有foo
代码都会看到这个头,所以您可能仍然不想这样做 - 如果名称空间
foo::std
存在,则嵌套的using
语句将优先于::std
相关文章:
- "using namespace std;"在C++的作用是什么?
- 为什么我需要做'using namespace std'而不是"使用 std::cout"?
- 'using namespace'实现细节的便捷方法(仅标头库)?
- C++中"typedef"、"using"、"namespace"和"using namespace"有什么区别?
- "using namespace"子句在什么范围内有效?
- 如何找到"using namespace std"的违规用法?
- 在实现文件中,我们应该更喜欢"using namespace"指令还是将实现包装在命名空间 { } 中?
- 如何根据对象名称将'using namespace'添加到类定义中?
- 没有任何 #include "using namespace std;"?
- 用于定义全局函数"using namespace"
- 'using namespace'如何在C++运作
- 为什么我们应该在使用"using namespace std"时使用"#include<iostream>"?
- 如何在代码中使用 STD 而不包含"using namespace std"?
- 如何正确使用"using namespace foo?"
- 使用不带前缀"std"且不带"using namespace std;"的 std::sort() 成功编译
- 总是"using namespace std" ?
- 头文件中可以包含"using namespace"语句吗?
- 为什么以及如何"using namespace"声明会混淆C++中的编译器?
- "using namespace std;"是否免于过多代码规则?
- C++如何知道在哪里查找使用 "using namespace ..." 指定的命名空间?