22
C ++の静的コンストラクタ?プライベート静的オブジェクトを初期化する必要があります
プライベート静的データメンバー(すべての文字a〜zを含むベクトル)を持つクラスが必要です。JavaまたはC#では、クラスのインスタンスを作成する前に実行される「静的コンストラクタ」を作成し、クラスの静的データメンバーを設定するだけです。(変数は読み取り専用で、1度だけ設定する必要があるため)1回だけ実行され、クラスの関数であるため、プライベートメンバーにアクセスできます。ベクトルが初期化されているかどうかを確認し、初期化されていない場合は初期化するコードをコンストラクターに追加できますが、これにより多くの必要なチェックが導入され、問題の最適な解決策とは思えません。 変数は読み取り専用であるため、それらはpublic static constである可能性があるため、クラスの外で一度設定できると思いますが、もう一度、それは一種の醜いハックのように思えます。 インスタンスコンストラクターで初期化したくない場合、クラスにプライベート静的データメンバーを含めることはできますか?