Почему мы должны использовать 'static' только внутри класса или функции (C++ )?

Недавно я читал Stroustrups Язык программирования C++ и в разделе о компоновке в главе 9 я наткнулся на следующий абзац:

"In C and older C++ programs, the keyword static is (confusingly) used to mean "use internal linkage". Don't use static except inside functions and classes."

Проблема в том, что читая дальше, автор не уточнил, почему это плохая практика. Я время от времени использую статические функции в своем коде, обычно для каких-то простых вычислений, которые не нужны вне модуля компиляции, но я никогда не осознавал, что это не одобряется, и мне не очевидно, почему это плохо. Может ли кто-нибудь пролить свет на это для меня, пожалуйста ??

6
задан ZnArK 2 July 2012 в 17:20
поделиться