Я изучаю С++, и я сталкивался с статической переменной (у меня есть предварительные знания из C89), и в используемом ресурсе они объявили статическую переменную в классе, например:
class nameHere
{
public:
static int totalNum;
}
int nameHere::totalNum = 0;
int main()
{}
Например. Я не понимаю, что, поскольку я уже заявил, что статическая переменная является целым числом в определении класса, зачем мне также объявлять ее как целое вне определения класса? Не имеет смысла просто инициализировать его так:
nameHere::totalNum = 0;
int main()
{}
Есть ли конкретная причина или просто соглашение С++? Спасибо за помощь!