首先来看看百度百科对"谓词函数"的定义说明:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool isZero(int num){
return num==0;
}
int main(){
vector<int> v1={10,11,12,13};
vector<int> v2({7,8,9,15,0});
auto b1=find_if(v1.begin(),v1.end(),isZero);
if(b1!=v1.end()){
cout<<"v1存在元素0!"<<endl;
}else{
cout<<"v1不存在元素0!"<<endl;
}
auto b2=find_if(v2.begin(),v2.end(),isZero);
if(b2!=v1.end()){
cout<<"v2存在元素0!"<<endl;
}else{
cout<<"v2不存在元素0!"<<endl;
}
}find_if()算法对范围内每个元素调用谓词,直到这个谓词返回true;
如果返回true,find_if()返回引用这个元素的迭代器.否则返回超尾迭代器.
原文:http://blog.csdn.net/qq844352155/article/details/37573627