¿Es mejor usar static const
vars que #define
preprocesador? ¿O tal vez depende del contexto?
¿Cuáles son las ventajas / desventajas de cada método?
#define
o static const
(para cadenas) está impulsada por el aspecto de inicialización (no se mencionó a través de las respuestas a continuación): si la constante se usa solo dentro de una unidad de compilación particular, entonces voy con static const
, de lo contrario, uso #define
- evite el fiasco de inicialización de orden estático isocpp.org/wiki/faq/ctors#static-init-order
const
, constexpr
o enum
alguna variación funciona en su caso, entonces #define