vectorのiteratorは基本 インクリメントするようにしか
設計されていない。
iter同士の比較はあてにならない。多分つかってはいけない。
e.g.
vector v;
vector::iterator i = v.begin();
i += 5;
if(i!=v.end()){
i++;
}
上は無限ループかな?
if(i < v.end()){
}
こういうのは、だめ。
empty()とかiterがbegin(), end()の間にあるという確証の元で
if(v.end()-iter>2){
}
iterを含め、要素が3個以上あるかの条件
この日記の人は、同じような疑問をもち、独自の見解で結論付けている