私がしたいこと: クラスのインスタンスがプログラム内で使用されるときはいつでも、いくつかの前提条件コードを実行します。このコードは要件などをチェックし、一度だけ実行する必要があります。
これは、別のオブジェクトをコンストラクター内の静的変数として使用して実現できることがわかりました。より良い画像の例を次に示します。
class Prerequisites
{
public:
Prerequisites() {
std::cout << "checking requirements of C, ";
std::cout << "registering C in dictionary, etc." << std::endl;
}
};
class C
{
public:
C() {
static Prerequisites prerequisites;
std::cout << "normal initialization of C object" << std::endl;
}
};
私を悩ませているのは、これまで静的変数の同様の使用法を見たことがないということです。欠点や副作用はありますか、それとも何か不足していますか? それとも、より良い解決策がありますか?どんな提案でも大歓迎です。