`
tailorcai
  • 浏览: 91788 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

使用insert_iterator简化通用容器操作

阅读更多

STL中的不同容器具有不同的插入操作接口,比如

vector,list,queue等使用push_back,pop_front等
map, set等使用insert

如何编写通用的插入操作呢。这里可以使用insert iterator

template<typename OutIt>
void build( OutIt it ) {
  for( int i=0;i<100;i++) {
    *it ++ = i;
  }
}

std::vector<int> vec;
build( std::front_inserter( vec ));
build( std::back_inserter( vec ));

std::set<int> _set;
build( std::inserter( _set, _set.begin()));


也可以直接使用insert_iterator模板类定义更复杂的insert iterator
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics