Khi sử dụng không gian tên ẩn danh có bất kỳ vấn đề nào nếu nó được lồng trong một không gian tên khác không? Ví dụ: có bất kỳ sự khác biệt thực sự nào giữa Foo1.cpp và Foo2.cpp trong mã sau:Không gian tên ẩn danh lồng nhau?
// Foo.h
namespace Foo
{
void fooFunc();
}
// Foo1.cpp
namespace Foo
{
namespace
{
void privateFunction()
{
...
}
}
void fooFunc()
{
privateFunction();
}
}
// Foo2.cpp
namespace
{
void privateFunction()
{
...
}
}
namespace Foo
{
void fooFunc()
{
privateFunction();
}
}
Ký hiệu đã xuất sẽ khác nhau. Hãy xem một đầu ra nm. –
Chỉ để trở thành pedantic, thuật ngữ kỹ thuật là 'không gian tên không xác định', không ẩn danh. – GManNickG
Các công đoàn là ẩn danh, không gian tên không được đặt tên. Nhưng những người quan tâm :) –