Are there cases where constexpr should be avoided, even it it could be used?
If an object is declared const , its value is guaranteed to be available only at runtime, but if it's declared constexpr , the value is guaranteed to be available both during compilation and at runtime. So if I have an object whose value is available during compilation, are there any situations where I should not declare it constexpr ? const int magicValue = 42; // Does this ever make sense // (using const instead of constexpr)? For functions, if a function can return a value computed during compilation when passed arguments with values available during compilation, would it ever make sense to