гарантированное расположение указателей векторов?

Предположим, у меня есть вектор ints,

std::vector<int> numbers;

который заполнен кучей значений, затем я говорю do this (где запись существует по адресу 43)

int *oneNumber = &numbers[43];

Гарантируется ли, что oneNumber всегда будет указывать на int с индексом 43, даже если, скажем, я изменю размер numbers на что-то вроде numbers. resize(46)?

Я не уверен на 100% в ожидаемом поведении, я знаю, что векторы гарантированно непрерывны, но не уверен, что эта непрерывность также означает, что все индексы в векторе будут оставаться в одном и том же месте на протяжении всей его жизни.

8
задан tweetypi 5 January 2012 в 04:49
поделиться