looking at the implementation for std::array in c++ i see something i can't quite wrap my head around..
for example, the function that returns the first element in the array is defined as:
constexpr const-reference
front() const noexcept
{.......}
where const-reference is defined as const value_type&, so the whole expression above evaluates to constexpr const value_type&. knowing that in some situations we might want the value returned by the function to be known at compile time, my question is why are they using both constexpr and const on the same line? isn't the const redundant as it was already said that we are going to be returning a constexpr ?