Если бы это было разрешено, мы бы инициализировали все его статические члены в одном месте очень организованным образом, например:
Код: Выделить всё
//illegal C++
class sample
{
public:
static int some_integer;
static std::vector strings;
//illegal constructor!
static sample()
{
some_integer = 100;
strings.push_back("stack");
strings.push_back("overflow");
}
};
Так почему же в C++ нет статического конструктора? Ведь в других языках (например, C#) есть статический конструктор!
Подробнее здесь: https://stackoverflow.com/questions/530 ... uctor-in-c
Мобильная версия