将头文件和cpp文件的内容都包含在命名空间中与仅包含头文件内容并在cpp文件中使用using namespace之间是否有区别?
所谓的区别是指可能会产生任何性能损失或略微不同的语义,可能会导致问题或我需要注意的任何事项。
例如:
// header
namespace X
{
class Foo
{
public:
void TheFunc();
};
}
// cpp
namespace X
{
void Foo::TheFunc()
{
return;
}
}
VS
的翻译是“对比”。// header
namespace X
{
class Foo
{
public:
void TheFunc();
};
}
// cpp
using namespace X;
{
void Foo::TheFunc()
{
return;
}
}
如果没有区别,哪种形式更受欢迎,为什么?