Ecco un compito semplice e comune: leggere le impostazioni di configurazione da un file di configurazione, salvare le impostazioni (ad esempio come hash) in un oggetto, accedere a questo oggetto da vari oggetti che devono accedere alla configurazione parametri.Come creare un oggetto Parametri globali
Ho trovato this implementation per l'implementazione della classe ConfigFile e funziona. La mia domanda è: qual è il modo migliore per rendere un'istanza di questa classe disponibile dalle mie altre classi ed essere thread-safe, evitare il fiasco di inizializzazione statica, ecc.
Il mio attuale approccio è di costruirlo in main() usando
// 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);
}
e poi fare parametri una variabile globale. Ma ho anche letto che i singleton dovrebbero essere usati al posto delle variabili globali. Come si può istanziare il singleton con il nome del file?
Questo deve essere un compito così comune che penso ci debba essere un modo generalmente accettato di farlo? Apprezzerei se qualcuno potesse indicarmi.
Grazie, C
La libreria boost PO gestisce le opzioni del programma da riga di comando, la mia domanda riguardava le opzioni di configurazione da leggere da un file. – recipriversexclusion
È possibile leggere da un file di configurazione con quella libreria. –