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.
Getting ready
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 <iterator>
.
How to do it...
Use the following iterator...