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