【发布时间】:2014-11-12 05:11:15
【问题描述】:
假设我有以下文件:
// SomeClass.h
namespace Example
{
class SomeClass
{
...
SomeClass someFunction();
...
};
}
// SomeClass.cpp
Example::SomeClass Example::SomeClass::SomeFunction()
{
...
}
添加“使用命名空间示例”会有什么后果吗?在 SomeClass.h 中的命名空间之前,以消除在 Someclass.cpp 文件中添加“Example::”范围运算符的需要?即使没有结果,这会被认为是不好的编码习惯吗?
变化如下:
// SomeClass.h
using namespace Example;
namespace Example
{
class SomeClass
{
...
SomeClass someFunction();
...
};
}
// SomeClass.cpp
SomeClass SomeClass::SomeFunction()
{
...
}
【问题讨论】:
-
我一直在 .cpp 文件中使用它。我还没有看到任何缺点。但是,我没有在 .h 文件中使用它们。请记住,在引入命名空间之前,您不能使用
using namesapce Example;。 -
没有考虑将其放入 .cpp,谢谢。
-
正如 R Sahu 所说,不要在标题中添加
using namespace。它污染了包含它的每个文件的全局命名空间(不好玩)。
标签: c++ namespaces coding-style