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