ちょっとお聞きしたいんだが

vector<int> v;
vector<int>::iterator i = v.begin();
++i; //これは未定義ですか?不定?それとも安全?