Благодаря ответу Стива Джессопа и замечательным комментариям, я пришел к следующему решению, поэтому, если вам это нравится, сначала проголосуйте за ответ Стива Джессопа. ;)
ел бы повторить следующее с BOOST FOREACH
std::vector<int>::const_iterator i1;
std::vector<int>::const_iterator i2;
for( i1 = v1.begin(), i2 = v2.begin();
i1 < v1.end() && i2 < v2.end();
++i1, ++i2 )
{
doSomething( *i1, *i2 );
}