Come esercizio, recentemente ho implementato un semplice lettore di impostazioni class
che legge i valori di impostazione da un file INI in un std::map<std::string, std::string>
. Il metodo del lettore è simile al seguente:
std::map<std::string, std::string> readSettings() {
std::map<std::string, std::string> settings;
for(std::string rawSetting; std::getline(settingsFile, rawSetting); )
settings.insert(parseRawSettingIntoPair(rawSetting));
return settings;
}
Mi sento un po 'ridondante specificando il tipo di valore renturn due volte:
- prima nella dichiarazione del metodo,
- in secondo luogo quando si dichiara la variabile locale,
settings
.
Lo so che in c ++ 14 il compilatore può dedurre il tipo restituito se utilizzo l'identificatore auto
nella dichiarazione di readSettings()
, ma questa funzione mi costringerà a mantenere la sua definizione anche nel file di intestazione. C'è un approccio migliore per ridurre tali ripetizioni?