?
Naja, so "ganz schnell" kann man jetzt nicht sagen. vector::pop_back wird im Standard nicht direkt behandelt, sondern über vector::erase definiert. Ich zitier mal aus C++03:
ISO/IEC 14882:2003 23.1.1 (12) (Table 68) schrieb:
expression | return type | operational semantics | container
-------------+-------------+-----------------------+--------------------
(...) | (...) | (...) | (...)
a.pop_back() | void | a.erase(--a.end()) | vector, list, deque
Und später
ISO/IEC 14882:2003 23.2.4.3 (3) schrieb:
iterator erase(iterator position);
iterator erase(iterator first, iterator last);
Effects: Invalidates all the iterators and references after the point of the erase.
Dass "after the point of the erase" den Eingabeiterator mit einschließt, ist aus dem Kontext offensichtlich.
Also nein, TEs Vorhaben ist nicht erlaubt, und es sollte mich nicht mal wundern, wenn die ein oder andere Implementation der Standardbibliothek da im Debug-Modus lustige Dinge draus macht. Den invalidierten Speicher mit magischen Zahlen überschreiben, damit der Debugger gleich merken kann, wenn man solchen Unfug treibt, zum Beispiel.