Once you need to initialize multiple variables in an if statement, it's really hard to justify cramming them into the statement itself. Remember that you could simply write
{
auto it = vec.begin();
auto itt = vec.begin();
if (it != vec.end()) { }
}
... and there's nothing particularly wrong with this. I find this much more readable than the alternative you've suggested.