Any one could explain me what is the meaning of past-the-end
. Why we call end()
function past-the-end?
The functions begin()
and end()
define a half open range([begin, end)
), which means:
The range includes first element but excludes the last element. Hence, the name past the end.
The advantage of an half open range is:
It avoids special handling for empty ranges. For empty ranges, begin()
is equal to
end()
.
It makes the end criterion simple for loops that iterate over the elements: The loops simply
continue as long as end()
is not reached