Вы можете просто использовать цикл for
:
for (std::vector<int>:iterator it = std::find_if(v.begin(), v.end(), IsOdd);
it != v.end();
it = std::find_if(++it, v.end(), IsOdd))
{
// ...
}
Кроме того, вы можете поместить свое условие и действие в функтор (выполняя действие, только если условие выполняется) и просто использовать std::foreach
.