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 asend()
is not reached