статические конструкторы в C ++? Мне нужно инициализировать частные статические объекты

Я хочу иметь класс с закрытым статическим членом данных (вектор, который содержит все символы a-z). В Java или C # я могу просто создать «статический конструктор». он запустится до того, как я создам экземпляры класса, и настроит статические члены-данные класса. Он запускается только один раз (поскольку переменные доступны только для чтения и должны быть установлены только один раз), и поскольку он является функцией класса, он может обращаться к своим закрытым членам. Я мог бы добавить код в конструктор, который проверяет, инициализирован ли вектор, и инициализировать его, если это не так, но он вводит много необходимых проверок и не кажется оптимальным решением проблемы.

Мне приходит в голову мысль, что, поскольку переменные будут доступны только для чтения, они могут быть просто открытыми статическими константами, поэтому я могу установить их один раз за пределы класса, но, опять же, это выглядит как уродливый хак.

Is it possible to have private static data members in a class if I don't want to initialize them in the instance constructor?

Ответы на вопрос(21)

Ваш ответ на вопрос