1.find函数有三个参数 (1,2,3)
①第一个参数是一个起始地址,接收一个迭代器
②第二个参数是一个终止地址,接受一个迭代器
③第三个参数是一个值,val,用来查找的那个值
注意:从起始地址开始 并且 不等于 终止地址
find函数的查找必须要重载operator==运算符号,用于两个值的比较
2.find_if函数有三个参数(1,2,3)
①第一个参数是一个起始地址,接收一个迭代器
②第二个参数是一个终止地址,接受一个迭代器
③第三个参数是一个函数对象,fun,用来判断是否找到对应的值
class FunObj
{
public:
bool operator()(string &tmp)
{
return tmp == "777";
}
};
int main()
{
vector<string> v{"111","222", "333", "444", "555", "666", "777"};
auto fun = [](string& tmp)->bool { return tmp == "555"; };
cout << *find_if(v.begin(), v.end(), fun) << endl;
FunObj a;
cout<<*find_if(v.begin(), v.end(), a);
return 0;
}