В С++ можно использовать ключевое слово static
в блоке трансляции, чтобы повлиять на видимость символа (объявление переменной или функции).
В n3092 это устарело:
Приложение D.2 [des.static]
Использование ключевого слова static не рекомендуется при объявлении объектов в пространстве имен (см. Раздел 3.3.6).
В n3225 это было удалено.
только статья, которую я мог найти, несколько неформальна.
Однако он подчеркивает, что для совместимости с C (и возможностью компиляции C-программ как С++) усталость раздражает. Однако компиляция C-программы непосредственно как С++ может быть разочаровывающим опытом, поэтому я не уверен, что это требует рассмотрения.
Кто-нибудь знает, почему это было изменено?