Здравствуйте, maks1180, Вы писали:
M>Нужна реализация такого контейнера:
M>Контейнер хранит вектор — ссылки на все его куски. Каждый кусок — это фактически вектор.
M>Когда заканчивается место, он не переаллоцирует память, а выделяет новый кусок и записывает в него.
M>Есть ли такие реализации ?
https://en.cppreference.com/w/cpp/container/deque
As opposed to std::vector, the elements of a deque are not stored contiguously: typical implementations use a sequence of individually allocated fixed-size arrays, with additional bookkeeping, which means indexed access to deque must perform two pointer dereferences, compared to vector's indexed access which performs only one.
The storage of a deque is automatically expanded and contracted as needed. Expansion of a deque is cheaper than the expansion of a std::vector because it does not involve copying of the existing elements to a new memory location.