>>182
vector<T>::iterator の型が T* とは限らないから、場合によってはまずいです。
書籍 Effective STL の Item 16 に記述がありますが

std::vector<char> v;

このとき v[0] は「最初の要素への参照」を返し、さらに vector はデータを C の配列と
同様のメモリ配置で持ってることが保証されているから、

&v[0]

が確実とのこと。