Using iterators to insert new elements into a container
When you're working with containers, it is often useful to insert new elements at the beginning, end, or somewhere in the middle. There are algorithms, such as the ones we saw in the previous recipe, Using set operations on a range, that require an iterator to a range to insert into, but if you simply pass an iterator, such as the one returned by
begin(), it will not insert but overwrite the elements of the container. Moreover, it's not possible to insert at the end by using the iterator returned by
end(). In order to perform such operations, the standard library provides a set of iterators and iterator adapters that enable these scenarios..
The iterators and adapters discussed in this recipe are available in the
std namespace in the
<iterator> header. If you include headers such as
<algorithm>, you do not have to explicitly include
How to do it...