使用未命名的命名空间时,如果它嵌套在另一个命名空间中,会有什么问题吗?例如,以下代码中的 Foo1.cpp 和 Foo2.cpp 之间是否有任何真正的区别:
// 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();
}
}