What is the past-the-end iterator in STL C++?

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.

enter image description here

The advantage of an half open range is:

  1. It avoids special handling for empty ranges. For empty ranges, begin() is equal to
    end() .

  2. It makes the end criterion simple for loops that iterate over the elements: The loops simply
    continue as long as end() is not reached

Leave a Comment