Нет, вы не правы. И да, C++ очень сильно злоупотребляет словом «статический».
Статическая переменная-член класса, конечно, является глобальной, а класс действует как область пространства имен и с некоторыми различиями в привилегиях доступа, если она является частной или защищенной (к ней может быть доступ только класс).
Однако статическая функция-член класса похожа на обычную свободную функцию (не член класса) и имеет свои локальные переменные каждый раз, когда она вызывается.
Единственная реальная разница между функцией статического члена класса и обычной бесплатной функцией, кроме ее соглашения об именах, заключается в том, что она имеет доступ к закрытым членам класса (и для этого требуется внешний «экземпляр»).
Кроме того, из шаблона с переменным параметром шаблона можно вызвать функцию статического класса, вызывая так называемый «полиморфизм времени компиляции» и обычно используется в метапрограммировании.
Статическая «локальная» переменная в любой функции является одним экземпляром, с другой стороны, также немного похожа на глобальную и чувствительна к проблемам конфликтов потоков, поскольку два потока, вызывающие функцию, получают доступ к одному экземпляру.
Возможный дубликат [статическая функция элемента и безопасность потока] (http://stackoverflow.com/questions/4509850/static-member-function-and-thread-safety) – Suma
Тони, почему, на земле, вы снова задав тот же вопрос? – Suma
@Suma Я проголосовал за закрытие своего вопроса, забыл, что уже спросил об этом ... –