我可以将“using namespace std”放入我的命名空间,在标题中吗?

时间:2013-12-01 14:00:00

标签: c++ namespaces header-files

我正在写一个小型图书馆。使用标准库的我的类,函数和其他声明都在头文件中。我知道将“使用命名空间”放入标题是一个不好的实践。我可以将我的代码放在单独的命名空间中,然后将“using namespace”放入其中吗? 像这样:

// header.h
namespace My
{
    using namespace std;
    // declarations
}

会不会好?

2 个答案:

答案 0 :(得分:3)

不要这样做! 只需使用完全限定名称或使用您要使用的特定符号的声明 有了这个,您最终将导入名称空间std中的整个My名称空间的内容,实质上是头文件header.h。基本上,它会给你带来大量未使用符号的命名空间污染,并且还会增加包含此标题的每个翻译单元的编译时间。

答案 1 :(得分:1)

你可能会这样做,但这不是一个好主意,因为这会导致名字模糊。