迭代器适配器

 迭代器适配器

back_inserter函数模板,返回类型是back_insert_iterator

back_insert_iterator是类模板,底层调用了push_back函数

front_inserter函数模板,返回类型是front_insert_iterator

front_insert_iterator是类模板,底层调用了push_front函数

inserter函数模板,返回类型是insert_iterator

insert_iterator是类模板,底层调用了insert函数

void test()
{
    vector<int> numberVec = {1, 5, 9, 5, 2};
    list<int> numberList = {3, 7, 4, 9, 2};

    //将list中的数据拷贝到vector,是在vector后面进行插入(底层实际上调用了push_back)
    copy(numberList.begin(), numberList.end(), back_insert_iterator<vector<int>>(numberVec));
    
    //将vector中的数据拷贝到list的前面,底层调用了push_front函数
    copy(numberVec.begin(), numberVec.end(), front_insert_iterator<list<int>>(numberList));
   
    set<int> numberSet = {3, 5, 8, 9, 12, 4, 6};
    //将vector中的数据拷贝到set的中间
    auto it = numberSet.begin();
    ++it;
    //底层实际上调用了insert
    copy(numberVec.begin(), numberVec.end(), insert_iterator<set<int>>(numberSet, it));
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值