std::vector史の一部

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

std::vector史の一部

投稿記事 by YuO » 10年前

http://dixq.net/forum/viewtopic.php?f=3&t=16444
を見て,そういえばISO/IEC 14882:1998とISO/IEC 14882:2003の違いの一つがstd::vectorの要素へのポインタの連続性保証だったなぁ,と。

ISO/IEC 14882:2003 23.2.4 Class template vector ¶1に,以下が追加されていました。
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().
ISO/IEC 14882:1998にはこの記述がないので,連続性保証がなく,「おそらく全ての実装で連続だけれども規格的には連続でない可能性がある」という状況でした。
知った上で使ってはいましたが……。

コメントはまだありません。