侯捷翻译的STL标准库描述, find_first_of(beg1, end1, beg2, end2, op);返回第一区间中第一个这样的元素:该元素和第二区间内每一个元素执行op结果均为true。测试发下则不是这样。测试代码如下:
bool find_first_of_op(int m, int n)
{
return m >= n;
}
void test_find_first_of()
{
std::vector<int> srcColl;
std::deque<int> desColl;
insert_elements(srcColl, 3, 17);
insert_elements(desColl, 12, 13);
print_elements(srcColl);
print_elements(desColl);
std::vector<int>::iterator pos = std::find_first_of(srcColl.begin(), srcColl.end(),
desColl.begin(), desColl.end(), find_first_of_op);
std::cout<<*pos<<std::endl;
}
输出结果为12,表示只需第二区间内存在一个满足op为true的元素即可。是否正确,有待验证.....