vectorでのforeach

const int nCount = vec.size();
for(int i = 0; i < nCount; ++i)
{
 vec[i]を使った何か
}

std::vector<asdf>::iterator i, iEnd = vec.end();
for(i = vec.begin(); i != iEnd; ++ i)
{
 *iを使った何か
}

はどっちが早いんだろう?

どっちも理論的には同じくらいの速さのはずだけど、イテレータを使った場合でもループ展開はちゃんと行われるのかな?

あとで検証するかも。