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 vorkommen:
// newusertype.cc
namespace {
const int SIZE_OF_ARRAY_X;
const int SIZE_OF_ARRAY_Y;
bool getState(userType*,otherUserType*);
}
newusertype::newusertype(...) {...
Welche Entwurfsüberlegungen können dazu führen, dass ein unbenannter Namespace verwendet wird? Was sind die Vor- und Nachteile?
static
. Kannst du bitte auch mit vergleichen__attribute__ ((visibility ("hidden")))
?