È meglio usare static const
Vars rispetto al #define
preprocessore? O forse dipende dal contesto?
Quali sono i vantaggi / gli svantaggi per ciascun metodo?
#define
o static const
(per le stringhe) è guidata dall'aspetto di inizializzazione (non è stato menzionato nelle risposte seguenti): se la costante viene utilizzata solo all'interno di una particolare unità di compilazione, allora vado con static const
, altrimenti uso #define
- evita l'inizializzazione dell'ordine statico fiasco isocpp.org/wiki/faq/ctors#static-init-order
const
, constexpr
o enum
o qualsiasi variante funziona nel tuo caso, preferiscilo a#define