在名称空间中同时包装头文件和 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;
}
}
如果没有区别,什么是首选的形式,为什么?