Je viens de rejoindre un nouveau projet logiciel C ++ et j'essaie de comprendre la conception. Le projet utilise fréquemment des espaces de noms sans nom. Par exemple, quelque chose comme cela peut se produire dans un fichier de définition de classe:
// newusertype.cc
namespace {
const int SIZE_OF_ARRAY_X;
const int SIZE_OF_ARRAY_Y;
bool getState(userType*,otherUserType*);
}
newusertype::newusertype(...) {...
Quelles sont les considérations de conception qui pourraient conduire à utiliser un espace de noms sans nom? Quels sont les avantages et les inconvénients?
static
. Pouvez-vous également comparer avec__attribute__ ((visibility ("hidden")))
?