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?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage