Для статических переменных-членов в классе С++ инициализация выполняется вне класса. Интересно, почему? Любое логическое рассуждение/ограничение для этого? Или это чисто унаследованная реализация, которую стандарт не хочет исправлять?
Я думаю, что инициализация в классе более "интуитивно понятна" и менее запутанна. Она также дает ощущение как статической, так и глобальной переменной. Например, если вы видите статический член const.