В разделе $7.3.1.1/2 из Стандарта С++ говорится:
Использование ключевого слова static устарел при объявлении объектов в область пространства имен; пространство имен без имени обеспечивает превосходную альтернативу.
Я не понимаю, почему неназванное пространство имен считается превосходной альтернативой? В чем причина? Я давно знаю, что говорит стандарт, но я никогда серьезно не думал об этом, даже когда я отвечал на этот вопрос: Превосходство неназванного пространства имен над статическими?
Является ли это превосходным, потому что он может применяться и к пользовательским типам, как я описал в своем ответе? Или есть какая-то другая причина, о которой я не знаю? Я спрашиваю об этом, особенно потому, что это мое рассуждение в моем ответе, в то время как стандарт может иметь что-то еще в виду.