文章详情

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

STL中的search_n()

时间:2010-06-02  来源:wanpengcoder

关于search_n的用法:   请看以下操作:   pos = search_n (coll.begin(), coll.end(), 4, 3, greater<int>());   以这种方式来搜寻合适某特殊准则的元素,其方法和STL的其他组件可谓是“大相径庭”(这个文明词有点囧) 。按照STL的一般用法,应该这么做:   pos = search_n_if(coll.begin(), coll.end(), 4, bind2nd(greater<int>(), 3));   可惜这个新算法被引入C++标准时,没有人注意到其中的不一致,当然,也许你觉得4个参数的形式更加敏捷,不过它实际上只需要一个一元判断式的时候,却要求获得一个二元的判断式,恐怕非你所愿。例如,为了利用一个自己写的一个一元判断式,你通常会这么做:   bool isPrime (int elem); ... pos = search_n (coll.begin(), coll.end(), 4, isPrime);   然而根据实际定义,你却必须写一个二元的判断式,所以你要写一个包装:   bool binaryIsPrime (int elem1, int) {     return isPrime(elem1); } ... //这个0相当于第二个参数,传给int,不处理 pos = search_n(coll.begin(), coll.end(), 4, 0, binaryIsPrime);   search_n(InputIterator beg, InputIterator end, size count, const T& value, BinaryPredicate op) 使用相当于op(elem, value);      
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载