Quando si utilizza uno spazio dei nomi anonimo ci sono problemi se è annidato in un altro spazio dei nomi? Ad esempio, v'è alcuna differenza reale tra Foo1.cpp e Foo2.cpp nel seguente codice:Spazio dei nomi anonimo nidificato?
// 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();
}
}
I simboli esportati saranno diversi. Dai un'occhiata a un output nm. –
Solo per essere pedante, il termine tecnico è 'namespace senza nome ', non anonimo. – GManNickG
I sindacati sono anonimi, lo spazio dei nomi è senza nome. Ma a chi importa :) –