stl 学习笔记 8 续 (function object)

function object 续

// stl/fo1.cpp

/*
预先定义好的  function object

*/

#include 
< iostream >
#include 
< set >
#include 
< deque >
#include 
< algorithm >
#include 
" print.h "
using   namespace  std;

int  main()
{
    
set<int,greater<int> > coll1;
    deque
<int> coll2;

    
for(int i = 1; i<=9;++i)
        coll1.insert(i);

    PRINT_ELEMENTS(coll1,
"initialized: ");

    
// bind2nd
    
// function adaptors
    transform(coll1.begin(),coll1.end(),
        back_inserter(coll2),bind2nd(multiplies
<int>(),10));

    PRINT_ELEMENTS(coll2,
"transformed: ");

    
// replace_if (algorithm)
    replace_if(coll2.begin(),coll2.end(),
        bind2nd(equal_to
<int>(),70),42);

    PRINT_ELEMENTS(coll2,
"replaced: ");

    coll2.erase(remove_if(coll2.begin(),coll2.end(),
        bind2nd(less
<int>(),50)),coll2.end());

    
// less<> function object
    PRINT_ELEMENTS(coll2,"removed: ");
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值