Как я понимаю, старый стиль, когда константы определялись виде #define — деканонизировали и предали анафеме. Теперь есть constexpr.
constexpr для времени компиляции, хотя тип проверяется. Вообще зачем это нужно — можете ли пример привести? Вроде режим компиляции — это отдельный тьюринг-полный язык, но нафига?
Всегда ли вы используете constexpr для констант?
Почему не использовать просто const, который времени выполнения?