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
廣告