C++ Iterator 库 - insert_iterator
描述
它是一种特殊的输出迭代器,旨在允许通常将元素覆盖为副本的算法在容器中的特定位置插入新元素。
声明
以下是 std::insert_iterator 的声明。
C++11
template <class Container> class insert_iterator;
参数
Container − 它是一个容器类。
返回值
none
异常
如果 x 在应用一元 operator& 时以某种方式抛出; 对它来说,这个函数永远不会抛出异常。
时间复杂度
随机访问迭代器的常量。
示例
以下示例显示了 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

