В чем причина отсутствия статического конструктора в C++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 В чем причина отсутствия статического конструктора в C++?

Сообщение Anonymous »

Какова причина отсутствия статического конструктора в C++?

Если бы это было разрешено, мы бы инициализировали все его статические члены в одном месте очень организованным образом, например:

Код: Выделить всё

//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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»