std::begin и std::end знать начало и конец container или array.
Так легко знать end и begin для vector, например, потому что это класс, который дает эту информацию. Но как он знает конец array, как показано ниже?
int simple_array[5]{1, 2, 3, 4, 5};
auto beg=std::begin(simple_array);
auto en=std::end(simple_array);
std::begin не так сложно узнать, где начинается массив. Но откуда он знает, где это заканчивается? Будет ли где-нибудь сохранено постоянное целое число 5?
Я был бы признателен, если бы получил ответ с информацией о низком уровне.