算法调用优先于手写的循环

看完这个点:我只想说我们的代码可以看起来更加高大上、更加的避免不必要的错误

但是这得平时多积累多用STL标准算法。

如:

class Widget

{

public:

。。。。。。

void  redraw() const;

。。。。。。。。。。

} ;

list < Widget> lw;


for ( list<Widget>::iterator i = lw.begin() ;  i != lw.end() ; ++i ){  i->redraw() ;}

你也可以用for_each 算法来完成

for_each( lw.begin() , lw.end() , mem_fun_red( &Widget::redraw ));



还可以


template <typename T>

class BetweenValues:

{

public: 

BetWeenValues( const T& lowValues , const T& highValue ):lowVal( lowValue),highVal( highValue){}

bool operator()( const T& val ) const

{

return val > lowVal && val < highVal;

}

private:

T  lowVal;

T highVal;

};


vector < int >::iterator = find_if( v.begin() ,v.end() , BetweenValues<int>(x,y));  找出符合重载要求的数据













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值