Нет, вы не правы.И да, C ++ очень сильно злоупотребляет словом «static».
Статическая переменная-член класса, конечно же, глобальная, с классом, действующим как область имен, и с некоторыми различиями в привилегиях доступа, если она частная или защищенная.(доступен только для класса).
Однако статическая функция-член класса аналогична обычной свободной функции (не члену класса) и имеет свои собственные локальные переменные при каждом вызове.
Единственное реальное различие между статической функцией-членом класса и обычной свободной функцией, помимо соглашения об именах, состоит в том, что она имеет доступ к закрытым членам класса (и нуждается во внешнем «экземпляре» одного).
Кроме того, статическая функция-член класса может вызываться из шаблона с переменным параметром шаблона, вызывая то, что обычно называется «полиморфизмом времени компиляции» и обычно используется в метапрограммировании.
Статическая «локальная» переменная в любой функции представляет собой отдельный экземпляр, с другой стороны, также являетсянемного похож на глобальный и чувствителен к проблемам конфликтов потоков, поскольку два потока, вызывающие функцию, обращаются к одному и тому же экземпляру.