ここには、一般的で単純なタスクがあります:構成ファイルから構成設定を読み込み、オブジェクトに設定(ハッシュなど)を保存し、構成にアクセスする必要があるさまざまなオブジェクトからこのオブジェクトにアクセスしますパラメーター。グローバルパラメータオブジェクトを作成する方法
ConfigFileクラスの実装でthis implementationが見つかりました。私の質問は、このクラスのインスタンスを他のクラスから利用できるようにし、スレッドセーフで、静的な初期化順序の失敗などを避けるための最良の方法は何ですか?
私の現在のアプローチは、
// Read face detection related parameter values from the configuration file.
string configFileName = "detection_parameters.txt";
try {
parameters = ConfigFile(configFileName);
}
catch(ConfigFile::file_not_found) {
cerr << "configuration file not found: " << configFileName << endl;
exit(-1);
}
、その後パラメータグローバル変数を作ります。しかし、グローバル変数の代わりにシングルトンを使うべきだということも読んでいます。シングルトンはどのようにしてファイル名でインスタンス化できますか?
これは一般的に受け入れられている良い方法でなければならないと思います。誰かが私にそれを指すことができるなら、私は感謝します。
おかげで、 C
ブーストPOライブラリはコマンドラインプログラムオプションを扱いますが、私の質問はファイルから読み込む設定オプションに関するものでした。 – recipriversexclusion
設定ファイルからそのライブラリを読むことができます。 –