#include #include int main(int argc, char** argv) { // initialize with 5 copies of 666 std::list data(5, 666); // create a front_insert_iterator // these can be created for dequeue and list -- not vector, set, map std::front_insert_iterator > my_f_inserter = std::front_inserter(data); // every time we assign a value the iterator is also modified so we can continue to add to the beginning *my_f_inserter = 555; *my_f_inserter = 444; *my_f_inserter = 333; // create a back insert_insert_iterator // these can be created for vector, dequeue, list -- not set, map std::back_insert_iterator > my_b_inserter = std::back_inserter(data); *my_b_inserter = 777; *my_b_inserter = 888; *my_b_inserter = 999; for (std::list::iterator i = data.begin() ; i != data.end() ; ++i) { std::cout << *i << std::endl; } return 0; }