É melhor usar static constvars do que #definepré-processador? Ou talvez dependa do contexto?
Quais são as vantagens / desvantagens de cada método?
#defineou static const(para seqüências de caracteres) é orientada pelo aspecto de inicialização (não foi mencionado pelas respostas abaixo): se a constante for usada apenas em uma unidade de compilação específica, eu continuarei com static const, caso contrário, uso #define- evite o fiasco de inicialização de ordem estática isocpp.org/wiki/faq/ctors#static-init-order
const, constexprou enumqualquer variação funcionar no seu caso, prefira#define