Il mio obiettivo è avere costanti globali in un gioco C++ su cui sto lavorando (per rappresentare alcune informazioni grafiche e simili). La mia attuale implementazione è di buttarli tutti in un file .h e includerli ovunque. Funziona, eccetto che ogni volta che cambio un'impostazione, l'intero codice base deve essere ricompilato.Corretta implementazione della configurazione globale
Quindi, la mia prossima idea era di lanciarli in qualche file di configurazione txt e analizzarli, in questo modo nessun codice viene effettivamente modificato quando le impostazioni cambiano. Il parser era abbastanza semplice e potevo inserire i valori nelle costanti, ma poiché il parser era un blocco di codice, le costanti non erano più globali.
C'è un buon modo per risolvere questo? Forse un modo per renderli globali pur essendo in un blocco o in qualche modo per evitare di ricompilare tutto quando si cambiano le impostazioni?
Certo, inizialmente volevo farlo senza costrutti aggiunti come questo, ma questo segue più convenzioni OO e funziona meglio in generale! Mi sono piaciuti anche i suggerimenti di Joachim, ma questo è quello che ha risolto per me, grazie! – akroy
@akroy Mi permetto di non essere d'accordo. Che tipo di convenzioni OO intendi qui? Abbiamo un singleton. La soluzione di alcuni programmatori sembra nettamente superiore all'introduzione di un singleton fondamentalmente costruito attorno a 'std :: map' con una ricerca lenta e senza la sicurezza del tipo senza alcun vantaggio reale sulle variabili nude – IceFire
Hey IceFire! Per il contesto, questa domanda è di 5 anni fa, quando stavo imparando a programmare. Guardando il thread dei commenti, sembra che io abbia preferito anche la soluzione di alcuni programmatori per il tizio in teoria, ma non è riuscita a superare il compilatore. Quindi, se ti ricompensa, più potere per te. :) – akroy