Да, если вы хотите объявить переменную области файла, тогда необходимо ключевое слово static
. static
переменные, объявленные в одной единице перевода, нельзя ссылать из другой единицы перевода.
Кстати, использование ключевого слова static
устарело в C ++ 03.
В разделе $ 7.3.1.1 / 2 стандарта C ++ (2003) указано,
Использование статического ключевого слова
не рекомендуется при объявлении объектов в
область пространства имен;
безымянное пространство имен обеспечивает превосходное
Альтернатива.
C ++ предпочитает безымянное пространство имен над ключевым словом static
. Смотрите эту тему:
Превосходство безымянного пространства имен над статическим?