C++迭代器庫 - insert_iterator



描述

它是一種特殊的輸出迭代器,旨在允許通常覆蓋元素作為副本的演算法改為在容器的特定位置插入新元素。

宣告

以下是std::insert_iterator的宣告。

C++11

template <class Container> class insert_iterator;

引數

容器 − 它是一個容器類。

返回值

異常

如果在對x應用一元運算子&時x以某種方式丟擲異常,則此函式不會丟擲任何異常。

時間複雜度

對於隨機訪問迭代器,時間複雜度為常數。

示例

以下示例顯示了std::insert_iterator的使用。

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

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

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

   std::insert_iterator< std::list<int> > insert_it (foo,it);

   std::copy (bar.begin(),bar.end(),insert_it);

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

   return 0;
}

讓我們編譯並執行上面的程式,這將產生以下結果:

foo: 10 9 8 100 90 80 70 60 50 7 6 5
iterator.htm
廣告
© . All rights reserved.