一般的で単純なタスクは次のとおりです。構成ファイルから構成設定を読み取り、設定をオブジェクトに (たとえばハッシュとして) 保存し、構成パラメーターにアクセスする必要があるさまざまなオブジェクトからこのオブジェクトにアクセスします。
ConfigFile クラス実装のこの実装を見つけましたが、機能します。私の質問は、このクラスのインスタンスを他のクラスから利用可能にし、スレッドセーフにするための最良の方法は何ですか、静的初期化順序の大失敗などを回避することです.
私の現在のアプローチは、 main() を使用して構築することです
// 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