将标头和cpp文件内容都包装在名称空间中还是只包装标头内容然后在cpp文件中使用名称空间之间有什么区别吗?
区别是指可能导致问题或我需要注意的任何排序性能损失或稍微不同的语义。
例:
// 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;
}
}
如果没有区别,首选形式是什么,为什么?