を見て,そういえばISO/IEC 14882:1998とISO/IEC 14882:2003の違いの一つがstd::vectorの要素へのポインタの連続性保証だったなぁ,と。
ISO/IEC 14882:2003 23.2.4 Class template vector ¶1に,以下が追加されていました。
ISO/IEC 14882:1998にはこの記述がないので,連続性保証がなく,「おそらく全ての実装で連続だけれども規格的には連続でない可能性がある」という状況でした。The elements of a vector are stored contiguously, meaning that if v is a vector where T is some type other than bool, then it obeys the identity &v[n] == &v[0] + n for all 0 <= n < v.size().
知った上で使ってはいましたが……。