我想要一个带有私有静态数据成员(包含所有字符az的向量)的类。在Java或C#中,我可以创建一个“静态构造函数”,该构造函数将在创建该类的任何实例之前运行,并设置该类的静态数据成员。它只运行一次(因为变量是只读的,只需要设置一次),并且由于它是类的函数,因此可以访问其私有成员。我可以在构造函数中添加代码,以检查向量是否已初始化,如果尚未初始化,则将其初始化,但这会引入许多必要的检查,而且似乎不是解决问题的最佳方法。
我想到,由于变量将是只读的,因此它们只能是公共静态const,因此我可以在类外设置它们一次,但是再一次,这看起来像是一个丑陋的hack。
如果我不想在实例构造函数中初始化私有静态数据成员,是否可以在类中拥有私有静态数据成员?
3
如何在C ++中初始化私有静态成员的
—
西罗Santilli郝海东冠状病六四事件法轮功
@CiroSantilli新疆改造中心六四事件法轮功这个问题的重点是运行代码以初始化私有静态对象,而不是设置私有静态原始类型的常量值。解决方案是不同的。
—
Gordon Gustafson,
嗯,我想你是对的,退缩。
—
西罗Santilli郝海东冠状病六四事件法轮功