C++ 迭代器库 - 插入器


描述

它构造一个插入迭代器,将新元素插入到 x 中从 x 指向的位置开始的连续位置。

宣言

以下是 std::inserter 的声明。

C++11

template <class Container, class Iterator>
  insert_iterator<Container> inserter (Container& x, Iterator it);

参数

x - 它是迭代器将在其中插入新元素的容器。

返回值

它返回一个 insert_iterator,将元素插入 x 中由它指示的位置。

例外情况

如果 x 在对其应用一元运算符& 时以某种方式抛出异常,则该函数永远不会抛出异常。

时间复杂度

随机访问迭代器的常量。

例子

以下示例显示了 std::inserter 的用法。

#include <iostream>
#include <iterator> 
#include <list>
#include <algorithm>

int main () {
   std::list<int> foo,bar;
   for (int i = 1; i <= 5; i++) {
      foo.push_back(i); bar.push_back(i*5);
   }

   std::list<int>::iterator it = foo.begin();
   advance (it,3);

   std::copy (bar.begin(),bar.end(),std::inserter(foo,it));

   std::cout << "foo contains:";
   for ( std::list<int>::iterator it = foo.begin(); it!= foo.end(); ++it )
      std::cout << ' ' << *it;
   std::cout << '\n';

   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果 -

foo contains: 1 2 3 5 10 15 20 25 4 5
迭代器.htm