Если вы опустите constexpr
, компилятор вполне может вычислить значение во время компиляции.
Основная идея заключается в том, что вы можете сказать компилятору, что вы хотите, чтобы что-то оценивалось во время компиляции, чтобы компилятор мог выдать ошибку, если вы допустили ошибку и использовали что-то, что он не может оценить во время компиляции.
Это, очевидно, также позволяет использовать значения в тех местах, где вам разрешено использовать только константы времени компиляции, такие как размеры массивов.