STL -- Insert Iterator 简单分析

在 Mon 20 July 2015 发布于 STL 分类 • 标签为 C/C++, STL, 源码分析

【以下代码都来自 SGI STL -- stl_iterator.h】

工作中STL用的很多, 多次用到insert iterator系列函数,但是一直都没有注意过为什么要这么用。只是知道inserter是'插入',front_inserter是'头插',back_inserter是'尾插'。当然这些叫法只是为我自己记住怎么使用这系列的函数。本着知其然知其所以然,本篇文章将简单的分析下Insert Iterator的实现细节。 现看inserter的这个函数的实现吧:

template <class _Container, class _Iterator>
inline
insert_iterator<_Container> inserter(_Container& __x, _Iterator __i)
{
    typedef typename _Container::iterator __iter;
    return insert_iterator<_Container>(__x, __iter …

阅读全文