【发布时间】:2014-08-25 06:57:45
【问题描述】:
我正在开发一个使用 STL 的小型个人 C++ 项目。我不喜欢在我的头文件中到处都是“std::”,因为我发现它会妨碍可读性,但同时我不想在以后通过将using namespace std 放入头文件。
所以我想知道是否有办法限制using 声明的范围,使其适用于我的头文件的内容,但不适用于包括它。我尝试了各种类似的事情
{
using namespace std;
// header file contents here
}
但似乎不允许在函数定义之外以这种方式引入范围。有没有办法做我所追求的?
请注意:我真的没有兴趣讨论这是否是一个好主意,我只是想知道它是否可以做到。
【问题讨论】:
-
我的错误答案已被删除。道歉。出于习惯,我总是完全限定标题中的名称(甚至现在在 cpp 文件中)。拥有声明自己的向量的代码库是很常见的,因此查看 std::vector 有助于避免歧义。不过,这无助于回答您的问题。
-
@M2tM 谢谢,没问题。
标签: c++ namespaces scope