Я только что присоединился к новому программному проекту C ++, и я пытаюсь понять дизайн. Проект часто использует безымянные пространства имен. Например, что-то подобное может произойти в файле определения класса:
// newusertype.cc
namespace {
const int SIZE_OF_ARRAY_X;
const int SIZE_OF_ARRAY_Y;
bool getState(userType*,otherUserType*);
}
newusertype::newusertype(...) {...
Каковы конструктивные соображения, которые могут привести к использованию безымянного пространства имен? Какие преимущества и недостатки?
static
. Можете ли вы также сравнить с__attribute__ ((visibility ("hidden")))
?