std::back_inserter(3)

NAME
std::back_inserter - std::back_inserter

Synopsis
   Defined in header <iterator>
   template< class Container > (until C++20)
   std::back_insert_iterator<Container> back_inserter( Container& c );
   template< class Container >
   constexpr std::back_insert_iterator<Container> back_inserter( (since C++20)
   Container& c );
   back_inserter is a convenient function template that constructs a
   std::back_insert_iterator for the container c with the type deduced from the type of
   the argument.

Parameters
   c - container that supports a push_back operation

Return value
   A std::back_insert_iterator which can be used to add elements to the end of the
   container c

Possible implementation
   template< class Container >
   std::back_insert_iterator<Container> back_inserter( Container& c )
   {
       return std::back_insert_iterator<Container>(c);
   }

Example
// Run this code
 #include <iostream>
 #include <vector>
 #include <algorithm>
 #include <iterator>
 int main()
 {
     std::vector<int> v{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
     std::fill_n(std::back_inserter(v), 3, -1);
     for (int n : v)
         std::cout << n << ' ';
 }

Output:
 1 2 3 4 5 6 7 8 9 10 -1 -1 -1

See also
   back_insert_iterator iterator adaptor for insertion at the end of a container
                        (class template)
                        creates a std::front_insert_iterator of type inferred from the
   front_inserter argument
                        (function template)
                        creates a std::insert_iterator of type inferred from the
   inserter argument
                        (function template)