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