文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>STL find_if

STL find_if

时间:2011-04-24  来源:加油程旭媛

find_if定义在<algorithm>头文件中。

我们首先看下在STL中find_if是怎样实现的,然后就能写出针对各种类型的find_if函数.
//定义在STL实现代码stl_algo.h中

template <class InputIterator, class Predicate>

InputIterator find_if(InputIterator first, InputIterator last,Predicate pred)

......{

       while (first != last && !pred(*first)) ++first;

       return first;

}

可见STL是把find_if定义为一个函数模板,该函数模板接收三个参数,前两个类型InputItearator是输入的迭代器,在两个迭代器之间进行查找。Predicate是用于比较的断言函数。在find-if实现中,断言函数pred将迭代器当前所指对象默认当做它的参数,判断并查找。

pred是条件谓词,可以是函数,也可以是类。
 类要重载运算符()带一个类型参数。
 当满足pred(*inputiter)==true时,返回迭代器位置,
 否则返回last。*/
 

相关阅读 更多 +
排行榜 更多 +
方块枪战战场安卓版

方块枪战战场安卓版

飞行射击 下载
战斗火力射击安卓版

战斗火力射击安卓版

飞行射击 下载
空中防御战安卓版

空中防御战安卓版

飞行射击 下载