Có sự khác biệt nào giữa việc gói nội dung tệp tiêu đề và tệp cpp trong một không gian tên hoặc chỉ gói nội dung tiêu đề và sau đó sử dụng không gian tên trong tệp cpp?
Sự khác biệt, ý tôi là bất kỳ hình phạt hiệu suất sắp xếp nào hoặc ngữ nghĩa hơi khác nhau có thể gây ra vấn đề hoặc bất kỳ điều gì tôi cần lưu ý.
Thí dụ:
// 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;
}
}
Nếu không có sự khác biệt thì hình thức ưu tiên là gì và tại sao?