我希望有一个具有私有静态数据成员的类(一个包含所有字符 a-z 的向量)。在 java 或 C # 中,我可以只创建一个“静态构造函数”,它将在我创建类的任何实例之前运行,并设置类的静态数据成员。它只运行一次(因为变量是只读的,并且只需要设置一次) ,而且因为它是类的函数,所以它可以访问其私有成员。我可以在构造函数中添加代码来检查向量是否已经初始化,如果没有初始化,则对其进行初始化,但这会引入许多必要的检查,似乎并不是解决问题的最佳方案。
我突然想到既然变量是只读的它们可以是公共静态常量所以我可以在类外设置一次但又一次,这看起来有点像一个丑陋的黑客技术。
如果我不想在实例构造函数中初始化类中的私有静态数据成员,那么它们是否可能存在?