как правильно объявлять статические изменяемые значения

#c #scope #static

#c #область видимости #статический

Вопрос:

В моей программе есть изменяемое статическое значение.

 static int foo = 0;
  

независимо от частной или общедоступной доступности я не хочу неприятных столкновений имен.
Мне не нравятся вещи, которые просто находятся в пределах моего пространства имен.
Итак, я попробовал следующее

 class aClass{ 
    static int foo = 0;
}
  

По-видимому, это невозможно, если я не назначу переменную foo .
Что невозможно для foo в моей программе.

Каков стандарт объявления изменяемой статики со значением по умолчанию? Я кое-что читал о людях, использующих const <T>* , но это не кажется мне разумным и кажется склонным к ошибкам.

Комментарии:

1. Глобальная статическая переменная и статическая переменная класса имеют два совершенно разных значения

Ответ №1:

как насчет заголовка:

 class aClass {
  static int foo;
}
  

cpp-файл

 int aClass::foo;
  

затем вы можете добавить инициализацию, если хотите.

Комментарии:

1. Идеально! Примет ваш ответ, как только таймер позволит мне.