Чи краще використовувати static constvars, ніж #defineпрепроцесор? А може, це залежить від контексту?
Які переваги / недоліки у кожного методу?
#defineабо static const(для рядків), керується аспектом ініціалізації (це не було зазначено у відповідях нижче): якщо константа використовується лише в рамках певного блоку компіляції, тоді я переходжу static const, інше використовую #define- уникаю фіаско ініціалізації статичного порядку isocpp.org/wiki/faq/ctors#static-init-order
const, constexprабо enumбудь-яка варіація працює у вашому випадку, тоді віддайте перевагу цьому#define