//---- std::find返回的是找到的迭代器位置,如果没有找到,会返回last iter,其他算法类似
int data[32] = {0};
int* pFind = NULL;
if(pFind = std::find_if(data, data + sizeof(data)/sizeof(int), cmp_fun))//---判断找到了
//---- 正确的是
if((data + sizeof(data)/sizeof(int)) != (pFind = std::find_if(data, data + sizeof(data)/sizeof(int), cmp_fun)))//---判断找到了