描述:
构造插入迭代器,可以通过该迭代器对容器插入元素。
函数定义:
template< class Container >
std::insert_iterator<Container>
inserter( Container& c, typename Container::iterator i );
template< class Container >
constexpr std::insert_iterator<Container>
inserter( Container& c, ranges::iterator_t<Container> i );
参数:
c - 支持 insert 操作的容器
i - 指示插入位置的 c 中迭代器
返回值:
返回能用于在 i 所指示位置插入元素到容器 c 的 std::insert_iterator 。
可能的实现:
template< class Container >
std::insert_iterator<Container> inserter( Container& c, typename Container::iterator i )
{
return std::insert_iterator<Container>(c, i);
}
示例:
#include <iostream>
#include <iterator>
#include <string>
int main(int argc, char **argv)
{
std::string s1 = "4258613597";
std::string s2 = "hello";
std::copy(s1.begin(), s1.end(), std::inserter(s2, s2.end()));
std::cout << s2 << std::endl;//hello4258613597
return 0;
}