В С++ члены static
не могут быть инициализированы в классе с этими исключениями:
-
static
членыconst
интегрального типа могут быть -
static
членыconstexpr
литерала типа должны быть
Можете ли вы объяснить, почему эти исключения?
Кроме того, это имеет место:
Даже если элемент данных
const static
инициализируется в теле класса, этот член обычно должен быть определен вне определения класса.
Это я никогда не понимал. В чем смысл этого дополнительного определения?
Просто пытаясь получить некоторые интуиции здесь.