>>634
ite = vec.begin()
++ite;
ite = vec.erase(ite);
--ite;
であれば ite == vec.begin(); は保障できるが、

vec.erase(ite)
とした場合の ite の値は、コンテナ vec のどこかを指している保障はないのでは?
したがって、--ite もどこを指しているか保障がないのでは?
典拠を示してほしい