Saya baru saja bergabung dengan proyek perangkat lunak C ++ baru dan saya mencoba memahami desainnya. Proyek ini sering menggunakan ruang nama yang tidak disebutkan namanya. Misalnya, sesuatu seperti ini dapat terjadi di file definisi kelas:
// newusertype.cc
namespace {
const int SIZE_OF_ARRAY_X;
const int SIZE_OF_ARRAY_Y;
bool getState(userType*,otherUserType*);
}
newusertype::newusertype(...) {...
Apa pertimbangan desain yang mungkin menyebabkan seseorang menggunakan namespace yang tidak disebutkan namanya? Apa kelebihan dan kekurangannya?
static
. Bisakah Anda juga membandingkan dengan__attribute__ ((visibility ("hidden")))
?