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
?
Я был бы признателен, если бы получил ответ с информацией о низком уровне.