Apakah ada perbedaan antara membungkus konten file header dan cpp dalam namespace atau hanya membungkus konten header dan kemudian melakukan penggunaan namespace di file cpp?
Yang saya maksud dengan perbedaan adalah hukuman kinerja apa pun atau semantik yang sedikit berbeda yang dapat menyebabkan masalah atau apa pun yang perlu saya waspadai.
Contoh:
// 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;
}
}
Jika tidak ada perbedaan apa bentuk yang disukai dan mengapa?