Warum werden unbenannte Namespaces verwendet und welche Vorteile bieten sie?
Ich bin gerade einem neuen C ++ - Softwareprojekt beigetreten und versuche, das Design zu verstehen. Das Projekt verwendet häufig unbenannte Namespaces. So etwas kann beispielsweise in einer Klassendefinitionsdatei auftreten:
// newusertype.cc
namespace {
const int SIZE_OF_ARRAY_X;
const int SIZE_OF_ARRAY_Y;
bool getState(userType*,otherUserType*);
}
newusertype::newusertype(...) {...
Was sind die Überlegungen zum Design, die dazu führen könnten, dass ein unbenannter Namespace verwendet wird? Was sind die Vor- und Nachteile?