Mi objetivo es tener constantes globales en un juego de C++ en el que estoy trabajando (para representar algunos gráficos de información y similares). Mi implementación actual es lanzarlos todos en .h e incluirlos en todos lados. Esto funciona, excepto que cada vez que cambio una configuración, toda la base de código debe recompilarse.Implementación correcta de la configuración global
Por lo tanto, mi siguiente idea fue arrojarlos en algún archivo de configuración de configuración y analizarlos, de esa manera no se cambia el código cuando cambia la configuración. El analizador era bastante simple, y podía poner los valores en las constantes, pero como el analizador era un bloque de código, las constantes ya no eran globales.
¿Hay una buena manera de solucionar esto? ¿Quizás sea una forma de hacerlos globales a pesar de estar en un bloque o de alguna forma evitar volver a compilar todo al cambiar la configuración?
Es cierto que originalmente quería hacerlo sin construcciones adicionales como esta, pero esto sigue más convenciones de OO y funciona mejor en general. Me gustaron también las sugerencias de Joachim, pero esta fue la que me resolvió, ¡gracias! – akroy
@akroy Yo no estoy de acuerdo. ¿Qué tipo de convenciones OO quieres decir aquí? Tenemos un singleton. La solución de algún programador parece ser claramente superior a la introducción de un singleton que básicamente se basa en un 'std :: map' con búsqueda lenta y sin seguridad de tipo sin beneficio real sobre las variables – IceFire
¡Oye IceFire! Por contexto, esta pregunta es de hace 5 años cuando estaba aprendiendo a programar. Mirando el hilo de comentarios, parece que también preferí la solución de Algún programador en teoría, pero no pude pasar el compilador. Entonces, si compila para usted, más poder para usted. :) – akroy