Insert Iterators vs container's member function inserter

c++, inserter, iterator, stl

Solution

Because you can pass them to algorithms, e.g.

std::copy(v1.begin(), v1.end(), std::back_inserter(v2));

Problem

I've been studying stl for the past two weeks and been dealing with alot of `vector<T>`, `deque<T>`, and `list<T>`. All those times I've been using `push_back()`, `push_front()`, `insert()`. Currently though, I've been introduced to "Insert Iterators" which are the following: - `back_insert_iterator`, which is similar to `push_back()` and does requires the container to have a `push_back()` function to work - `front_insert_iterator`, which is similar to `push_front()` and requires the container to have a `push_front()` - `insert_iterator`, similar `insert()` and blah blah blah So I know how to implement all of this. My question is quite simple, what is the difference? Why bother using the Insert Iterators?

Original source