Mengapa C ++ membuat perbedaan antara global statis (hubungan internal) dan simbol dalam ruang nama yang tidak disebutkan namanya (hubungan eksternal, toh tidak ada cara untuk merujuknya dari luar), ketika memperkenalkan yang terakhir?
Adakah alasan-alasan itu yang masih berlaku, atau ada yang baru?
Apakah ada tempat tersisa di mana mereka masih berbeda tetapi aturan sewenang-wenang yang harus dimiliki oleh serikat global (atau namespace-lingkup) anonim
static
, dan apakah mereka?Untuk poin bonus, jika tidak ada alasan yang tersisa bagi mereka untuk berbeda, apakah ada permintaan untuk membuatnya setara?
Ketika C ++ memperkenalkan ruang nama (C ++ 98), dan secara khusus ruang nama yang tidak disebutkan namanya, global statis dihilangkan sebagai usang dan kalah dengan hal baru dalam pertarungan antusiasme, meskipun itu dikembalikan dengan C ++ 11 :
Penghentian kata kunci statis ... tidak lagi?
Sebelum C ++ 11, simbol dengan tautan internal tidak dapat digunakan sebagai argumen templat: Mengapa C ++ 03 memerlukan parameter templat untuk memiliki tautan eksternal?