1
C ++中的静态构造函数?我需要初始化私有静态对象
我想要一个带有私有静态数据成员(包含所有字符az的向量)的类。在Java或C#中,我可以创建一个“静态构造函数”,该构造函数将在创建该类的任何实例之前运行,并设置该类的静态数据成员。它只运行一次(因为变量是只读的,只需要设置一次),并且由于它是类的函数,因此可以访问其私有成员。我可以在构造函数中添加代码,以检查向量是否已初始化,如果尚未初始化,则将其初始化,但这会引入许多必要的检查,而且似乎不是解决问题的最佳方法。 我想到,由于变量将是只读的,因此它们只能是公共静态const,因此我可以在类外设置它们一次,但是再一次,这看起来像是一个丑陋的hack。 如果我不想在实例构造函数中初始化私有静态数据成员,是否可以在类中拥有私有静态数据成员?