From cppreference.com
Defined in header
template<classContainer>classback_insert_iterator:publicstd::iterator<std::output_iterator_tag,void,void,void,void>(until C++17)template<classContainer>classback_insert_iterator;(since C++17)std::back_insert_iterator is a
that appends elements to a container for which it was constructed. The container's push_back() member function is called whenever the iterator (whether dereferenced or not) is assigned to. Incrementing the std::back_insert_iterator is a no-op.
Member types
Member type Definition iterator_categorystd::output_iterator_tagvalue_typevoiddifference_typepointervoidreferencevoidcontainer_typeContainerMember types iterator_category, value_type, difference_type, pointer and reference are required to be obtained by inheriting from std::iterator<std::output_iterator_tag,void,void,void,void>.
(until C++17)Member functions
Member objects
Member name Definition container(protected)a pointer of type Container*Example
Run this code
#include<algorithm>#include<iostream>#include<iterator>#include<vector>intmain(){std::vector<int>v;std::generate_n(std::back_insert_iterator<std::vector<int>>(v),// Or use std::back_inserter helper// Or use std::back_insert_iterator(v) C++17's syntax10,[n=0]()mutable{return++n;});for(intn:v)std::cout<<n<<' ';std::cout<<'\n';}Output:
1 2 3 4 5 6 7 8 9 10 See also