Почему статические переменные члены класса можно инициализировать внутри класса если они const и интегрального типа или перечисления?
Почему статические переменные члены класса можно инициализировать внутри класса если они const и интегрального типа или перечисления?
class Any {
private:
static const double x = 1.0; //нельзя
};
class Any {
private:
static const int a = 1; //можно
};
Почему double например нельзя?
в с++11 добавили возможность инициализировать статические поля класса любого типа следующим образом:
class Any {
private:
static constexpr double x = 1.0;
};
Как это работает? Не понимаю логику