C++ 迭代器库 - inserter



描述

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

声明

以下是 std::inserter 的声明。

C++11

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

参数

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

返回值

它返回一个 insert_iterator,该迭代器将元素插入到 x 中 it 指示的位置。

异常

如果 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
iterator.htm
广告

© . All rights reserved.