Właśnie dołączyłem do nowego projektu oprogramowania C ++ i staram się zrozumieć projekt. Projekt często wykorzystuje nienazwane przestrzenie nazw. Na przykład coś takiego może wystąpić w pliku definicji klasy:
// newusertype.cc
namespace {
const int SIZE_OF_ARRAY_X;
const int SIZE_OF_ARRAY_Y;
bool getState(userType*,otherUserType*);
}
newusertype::newusertype(...) {...
Jakie są względy projektowe, które mogą spowodować użycie nienazwanej przestrzeni nazw? Jakie są zalety i wady?
static
. Czy możesz również porównać z__attribute__ ((visibility ("hidden")))
?